Details
-
Improvement
-
Status: Open
-
Not a Priority
-
Resolution: Unresolved
-
None
-
None
Description
Motivation:
It is not good that "flink-streaming-java" module depends on "flink-clients". Flink-clients should see something in "flink-streaming-java".
Related Change:
1. LocalStreamEnvironment and RemoteStreamEnvironment can also execute a job by the executors(LocalExecutor and RemoteExecutor). Introduce StreamGraphExecutor which executors a streamGraph as PlanExecutor executors the plan. StreamGraphExecutor and PlanExecutor all extend Executor.
2. Introduce StreamExecutionEnvironmentFactory which works similarly to ContextEnvironmentFactory in flink-clients.
When a object of ContextEnvironmentFactory, OptimizerPlanEnvironmentFactory or PreviewPlanEnvironmentFactory is set into ExecutionEnvironment(by calling initializeContextEnvironment), the relevant StreamEnvFactory is alsot set into StreamExecutionEnvironment. It is similar when calling unsetContext.