-
Notifications
You must be signed in to change notification settings - Fork 2.8k
[Zeppelin 1165 : improve] Paragraph dynamic relationship executable form #1176
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
[Zeppelin 1165 : improve] Paragraph dynamic relationship executable form #1176
Conversation
|
@cloverhearts Is this PR WIP? |
|
Great feature! |
|
Test description modified. |
|
@AhyoungRyu |
|
update to description. This feature ensures a certain execution order Notebook with each Interpreter. |
|
jira re link - ZEPPELIN-1165 |
|
@cloverhearts Thanks for the detailed description. It would be better for reviewing this cool feature 👍 |
|
Cool feature, even I wanted to have something similar. Will test it, and give more feedback, in the mean while, and referring to the gif posted in screenshot segment, can the rest of the paragraph go into pending state. For example in this case can the last paragraph |
|
@prabhjyotsingh But if the situation need to run the job at the same time, subject to their execution flow. |
|
update add operator : all paragraph (*) and ui fixed. If you want to run to all Paragraph in Note, you can: for example Of course, it is possible to run a particular paragraph and mix. |
|
Screenshot change |
|
Thanks @cloverhearts for the contribution and the descriptions. Workflow definition Alternative approach I think there is much simpler way achieve the same goal, with more flexible/powerful workflow control while keeping usage simple and easy. Currently, z.run(PARAGRAPH_ID) in spark interpreter allows run other paragraph in the same notebook. Simply extend this method, from to will achieve the same goal without introducing new syntax or WorkflowManager. And note that, So, i think just improving What do you think? |
|
`z.run("Paragraph1") z.run("Paragraph2") |
|
I like the idea, but I also don't think that a new dynamic form is a good way to manage it. I also wonder how can we handle the case of paragraphs that can run in parallel during one of the workflow step. (multiple sql queries for example) There was a lot of demands to have a better 'Run all paragraphs' feature, and maybe we could later have a dropdown on the run button allowing to run multiple profile (to run some workflow related to that notebook, a bit like building different profile in Eclipse) |
|
@Leemoonsoo Workflow definitionI actually agree with your opinion. Alternative approachI know of the existence of z.run. Thanks again for details opinion. |
|
@corneadoug If you have any other idea, please advise me. |
|
z.run() currently submit paragraph into each interpreter's scheduler. Let's say there're PARAGRAPH_1, PARAGRAPH_2, PARAGRAPH_3 When user execute z.run(P1) submit a job to run P1 to scheduler of Markdown interpreter. And each scheduler from each different interpreter works independently. Then we can add synchronous option, such as Then we can make sure P2 is not submitted before P1 finishes, P3 is not submitted before P2 finishes. My points are,
|
|
Thank you for your answer. |
|
Hi, may I ask if this feature has been merged to the master? |
|
@xiufengliu No it wasn't merged. |
|
@xiufengliu |
|
Thanks! It is a fantastic feature. I am really looking forwards to. |
# Conflicts: # zeppelin-web/src/index.html
|
This feature is not merged. |
|
@cloverhearts If I understand, the plan is to open a new PR for this feature? |
|
@corneadoug |
|
Hi, may i ask if the new PR was open? I am looking forward to this feature |
|
Dear corneadoug: /Xiufeng |
|
This feature is currently implemented. |
# Conflicts: # zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java # zeppelin-web/src/app/notebook/paragraph/paragraph-parameterizedQueryForm.html # zeppelin-web/src/app/notebook/paragraph/paragraph.controller.js # zeppelin-web/src/components/websocketEvents/websocketMsg.service.js
|
I was create new pr. and re-implementation codebased. |



What is this PR for?
Workflow process feature.
(To ensure the success of each paragraph, it is possible to run consecutively.)
Case 1
Through a dynamic form, you can execute the order in paragraph.

There is a difference with traditional methods.
Please check the following flowchart.
Case 2
In general, when run a plurality of Paragraph, it performs Note entire run.

This is a good way to run a lot of Paragraph contained in the Note.
However, the problem occurs if the Interpreter of Paragraph different.
For Paragraph each using a different type of one of the Interpreter Note but run in sequence, the end is all different.
For example, Markdown is a very fast Interpreter.
The process is completed very quickly.
This is a problem in the sequential execution Paragraph.
This feature ensures a certain execution order Notebook with each Interpreter.
Case 3
For concurrent job in the workflow ...
If the current functional design is supposed to run at the same time, as follows
It is to share the results of the job.
But if the situation need to run the job at the same time, subject to their execution flow.
** The results will have to succeed, the following paragraph will be executed. **
What type of PR is it?
Improvement
jira
https://issues.apache.org/jira/browse/ZEPPELIN-1165
How should this be tested?
Dynamic form
For usage, see the following:
https://zeppelin.apache.org/docs/0.7.0-SNAPSHOT/manual/dynamicform.html
In the markdown type:
You can specify the title work flow.
Simply displayed on the UI.
title name : MyWorkflow
character a comma(,), you can start working set.
Enter your Notebook ID and Paragraph ID.
In order to distinguish between the Notebook ID and Paragraph ID, characters <:> it is.
The example was set to run 20160712-163556_1475991024 paragraph with a notebook id called 2BS99R6QA.
Through a pipe character( | ), you can add tasks consecutively.
Note run
If you want to run to all Paragraph in Note, you can:
for example
Of course, it is possible to run a particular paragraph and mix.
Screenshots (if appropriate)
Questions: