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

[Feature-10219][EMR] EMR supports use <add-Steps> to add steps to an existing cluster #10657

Merged
merged 3 commits into from
Jul 10, 2022

Conversation

guodongym
Copy link
Contributor

  • Add the ProgramType parameter to distinguish task types
  • EmrAddStepsTask supports Add-Steps
  • UI supports Add-Steps
  • EmrTask modify the name of the class to EmrJobFlowTask
  • add ERM Task abstract base class AbstractEmrTask
  • add testcase for EmrAddStepsTask
  • Modifying help Documents

close #10219

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.

(or)

This pull request is already covered by existing tests, such as (please describe tests).

(or)

This change added tests and can be verified as follows:

@SbloodyS SbloodyS added improvement make more easy to user or prompt friendly backend UI ui and front end related labels Jun 29, 2022
@SbloodyS SbloodyS added this to the 3.1.0-alpha milestone Jun 29, 2022
…existing cluster

* Add the ProgramType parameter to distinguish task types
* EmrAddStepsTask supports Add-Steps
* UI supports Add-Steps
* EmrTask modify the name of the class to EmrJobFlowTask
* add ERM Task abstract base class AbstractEmrTask
* add testcase for EmrAddStepsTask
* Modifying help Documents
@zhongjiajie
Copy link
Member

@guodongym Thanks to bring this up, and I personally hope it can merge soon

@zhongjiajie
Copy link
Member

BTW, doc conflict here

Copy link
Member

@Amy0104 Amy0104 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The front end part LGTM.

# Conflicts:
#	docs/docs/en/guide/task/emr.md
@codecov-commenter
Copy link

Codecov Report

Merging #10657 (a3bb733) into dev (8320490) will increase coverage by 0.03%.
The diff coverage is 62.13%.

❗ Current head a3bb733 differs from pull request most recent head a4c653e. Consider uploading reports for the commit a4c653e to get more accurate results

@@             Coverage Diff              @@
##                dev   #10657      +/-   ##
============================================
+ Coverage     40.64%   40.68%   +0.03%     
- Complexity     4820     4833      +13     
============================================
  Files           913      916       +3     
  Lines         36306    36375      +69     
  Branches       3993     3997       +4     
============================================
+ Hits          14756    14798      +42     
- Misses        20078    20106      +28     
+ Partials       1472     1471       -1     
Impacted Files Coverage Δ
...lphinscheduler/plugin/task/emr/EmrJobFlowTask.java 82.35% <ø> (ø)
...lphinscheduler/plugin/task/emr/EmrTaskChannel.java 0.00% <0.00%> (ø)
...phinscheduler/plugin/task/emr/AbstractEmrTask.java 55.55% <55.55%> (ø)
...phinscheduler/plugin/task/emr/EmrAddStepsTask.java 67.79% <67.79%> (ø)
...olphinscheduler/plugin/task/emr/EmrParameters.java 76.92% <85.71%> (+5.49%) ⬆️
.../dolphinscheduler/plugin/task/emr/ProgramType.java 100.00% <100.00%> (ø)
...erver/master/processor/queue/TaskEventService.java 75.00% <0.00%> (-5.36%) ⬇️
...org/apache/dolphinscheduler/remote/utils/Host.java 43.47% <0.00%> (-2.18%) ⬇️
...e/dolphinscheduler/remote/NettyRemotingClient.java 51.38% <0.00%> (-1.39%) ⬇️
...r/plugin/task/sqoop/parameter/SqoopParameters.java 53.33% <0.00%> (-1.34%) ⬇️
... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8320490...a4c653e. Read the comment docs.

@guodongym guodongym closed this Jul 6, 2022
@guodongym guodongym reopened this Jul 6, 2022
Comment on lines +29 to +30
| jobFlowDefineJson | JSON corresponding to the [RunJobFlowRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/model/RunJobFlowRequest.html) object, for details refer to [API_RunJobFlow_Examples](https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html#API_RunJobFlow_Examples). |
| stepsDefineJson | JSON corresponding to the [AddJobFlowStepsRequest](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/model/AddJobFlowStepsRequest.html) object, for details refer to [API_AddJobFlowSteps_Examples](https://docs.aws.amazon.com/emr/latest/APIReference/API_AddJobFlowSteps.html#API_AddJobFlowSteps_Examples). |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you migreate these two type as child or program type? just like Deployment mode in https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/en/guide/task/spark.md ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These two parameters are not two types, but two elements that need to be filled in the form. I think they need to be specified separately

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But does we can fill both two element in the single task?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, can you add some screenshots for this task? I find it missing the screenshot in our docs, you can find some example in https://dolphinscheduler.apache.org/en-us/docs/dev/user_doc/guide/task/shell.html

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But does we can fill both two element in the single task?

No, must to have a type to tell the difference, because the API that connects to AWS is completely different

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, can you add some screenshots for this task? I find it missing the screenshot in our docs, you can find some example in https://dolphinscheduler.apache.org/en-us/docs/dev/user_doc/guide/task/shell.html

yes, i can

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done !

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But does we can fill both two element in the single task?

No, must to have a type to tell the difference, because the API that connects to AWS is completely different

If they can not fill the form in the same time, I think they should be in two different way here. but I do not have strong opinion

…existing cluster

* Fix document conflicts
* Fix code review comments
* add some screenshots for this task
@guodongym guodongym closed this Jul 9, 2022
@guodongym guodongym reopened this Jul 9, 2022
@guodongym guodongym closed this Jul 9, 2022
@guodongym guodongym reopened this Jul 9, 2022
@guodongym guodongym closed this Jul 9, 2022
@guodongym guodongym reopened this Jul 9, 2022
@sonarcloud
Copy link

sonarcloud bot commented Jul 9, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

58.7% 58.7% Coverage
0.0% 0.0% Duplication

Copy link
Member

@zhongjiajie zhongjiajie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks

@zhongjiajie zhongjiajie merged commit 8eaf5a2 into apache:dev Jul 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend document improvement make more easy to user or prompt friendly UI ui and front end related
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[Feature][EMR] EMR supports use <add-Steps> to add steps to an existing cluster
5 participants