Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a Spark Streaming job construct on EMR Serverless #386

Open
vgkowski opened this issue Feb 1, 2024 · 1 comment
Open

Provide a Spark Streaming job construct on EMR Serverless #386

vgkowski opened this issue Feb 1, 2024 · 1 comment
Assignees
Labels
new-feature New feature

Comments

@vgkowski
Copy link
Contributor

vgkowski commented Feb 1, 2024

Currently, implementing a Spark Streaming job on EMR Serverless requires additional tooling to implement streaming best practices. We can provide a construct similar to the SparkEmrServerlessJob but for streaming. Main features it should support:

  • Checkpointing the Spark state on a resilient storage
  • Graceful update of the Spark Streaming application. When deploying a new version of the Spark code, the construct should gracefully shutdown the current Spark Streaming job and then start the new one from the same checkpoint
  • automatically retry the Spark Streaming job when a failure is detected. The retry mechanism should have a maximum number of retry, an exponential backoff retry mechanism and an alerting
@vgkowski vgkowski added the new-feature New feature label Feb 1, 2024
@vgkowski vgkowski self-assigned this Feb 12, 2024
@omar-diop
Copy link

omar-diop commented Apr 5, 2024

Hi @vgkowski

I'm currently exploring implementing Spark Structured Streaming on EMR Serverless and seeking to incorporate best practices, including job retry mechanisms.

Initially, I planned to maintain a single job running continuously to handle streaming. However, I've recognized that to properly implement retry policies i need to do it manually and to figure out a solution.

You mentioned that additional tooling is required. I'm curious if you've discovered solutions or alternative approaches for implementing retry policies within the AWS ecosystem, perhaps utilizing services such as AWS Step Functions to efficiently manage repeated attempts.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-feature New feature
Projects
Status: Todo
Development

No branches or pull requests

2 participants