Github user zjffdu commented on the issue:
https://github.com/apache/zeppelin/pull/1799
@cloverhearts This is very interesting. I have a few questions
1. Does the dynamic forms here mean more control flow (like if condition
and for loop)
2. In case 2, If the markdown interpreter paragraph does not depends on the
spark interpreter paragraph, we can execute them parallelly rather than
sequentially.
3. I think the most important thing of workflow is to define the DAG
(dependency between paragraphs). Your idea is to run the paragraphs
programmatically. Would it be more intuitive to just define the DAG (Directed
acyclic graph), and let the framework to run the dag automatically.
e.g.
```
val flow = new JobFlow(noteId)
val note = z.getNote(noteId)
val p1 = z.getParagraph(pId1)
val p2 = z.getParagraph(pid2)
val p3 = z.getParagraph(pid3)
p3.addDependency (p2)
p2.addDependency(p1)
flow.add(p1).add(p2).add(p3).run()
```
4. Currently we use noteId and paragraphId, but I think these are not
readable. We'd better use note name and paragraph name.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---