-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
[dagster-aws] add PipesEMRServerlessClient
#24318
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @danielgafni and the rest of your teammates on Graphite |
Deploy preview for dagster-docs ready! Preview available at https://dagster-docs-b2obvn9ya-elementl.vercel.app Direct link to changed pages: |
0f6b936
to
2095d0b
Compare
c8aa00b
to
a191a5c
Compare
431c7ec
to
3710769
Compare
Now that @smackesey is back he is also a good reviewer for Pipes PRs! |
3710769
to
8a5e287
Compare
python_modules/libraries/dagster-aws/dagster_aws/pipes/clients/emr_serverless.py
Outdated
Show resolved
Hide resolved
f"""A pipes client for running workloads on AWS {AWS_SERVICE_NAME}. | ||
|
||
Args: | ||
client (Optional[boto3.client]): The boto3 {AWS_SERVICE_NAME} client used to interact with AWS {AWS_SERVICE_NAME}. | ||
context_injector (Optional[PipesContextInjector]): A context injector to use to inject | ||
context into AWS {AWS_SERVICE_NAME} workload. Defaults to :py:class:`PipesEnvContextInjector`. | ||
message_reader (Optional[PipesMessageReader]): A message reader to use to read messages | ||
from the {AWS_SERVICE_NAME} workload. Defaults to :py:class:`PipesCloudWatchMessageReader`. | ||
forward_termination (bool): Whether to cancel the {AWS_SERVICE_NAME} workload if the Dagster process receives a termination signal. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure doing this variable Interpolation adds much, and it adds a layer of indirection. I'd rather just see the docstring as it will appear in our docs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a leftover from the BaseAWSPipesClient
PR.
I wanted to generalize docstrings over the AWS service.
I'll fix this here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you want to enforce consistency recommend doing it via a unit test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not exactly, just trying to standardize boilerplate such as this one.
Basically, a lot of AWS pipes clients will share these exact docstrings with the only difference being the service name.
Same with log messages.
But let's keep it simple until we refactor different classes to extend BaseAWSPipesClient
.
python_modules/libraries/dagster-aws/dagster_aws/pipes/clients/emr_serverless.py
Outdated
Show resolved
Hide resolved
python_modules/libraries/dagster-aws/dagster_aws/pipes/clients/emr_serverless.py
Outdated
Show resolved
Hide resolved
python_modules/libraries/dagster-aws/dagster_aws/pipes/clients/emr_serverless.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some changes that are worth a roundtrip
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!
python_modules/libraries/dagster-aws/dagster_aws/pipes/clients/emr_serverless.py
Outdated
Show resolved
Hide resolved
Me and @yuhan to merge this to |
0ee18fd
to
ff14610
Compare
31ce713
to
c7d4d4a
Compare
Docs typo fix.
c7d4d4a
to
2e45a72
Compare
PipesEMRServerlessClient
Merge activity
|
Summary & Motivation
resolve DS-443
Implemented message reading for CloudWatch logging configuration (using
CloudWatchMessageReader
). Mapping Spark driver stdout/stderr to Dagster's stdout/stderr.S3-backed logs are currently blocked by #24098
How I Tested These Changes
moto
since they don't havestart_job_run
implemented.I'm planning to add integration tests in CI with real AWS infra.
Changelog
Insert changelog entry or "NOCHANGELOG" here.
NEW
([dagster-aws] addedPipesEMRServerlessClient
, but it's untested yet so please don't include into release notes until we have tests)BUGFIX
(fixed a bug)DOCS
(added or updated documentation)