Skip to content
This repository has been archived by the owner on Feb 21, 2024. It is now read-only.

Modify the API structure for Flink-Flux compilation framework #6

Merged
merged 2 commits into from
May 12, 2019

Conversation

walterddr
Copy link
Owner

Change the compilation framework to separate the APIs:

  1. Impl of Flux-related components to be compiler free, only interface connecting the components
  2. Impl of the execution now directly comes from FluxTopology
  3. Impl of the compiler consist of general - where the compilation happens with a graph, and the vertex.
  4. vertex is abstract and will contain components that relates to the actual framework instances - source/sink/operator/etc.

@@ -34,7 +34,7 @@
private int compiledSourceCount;
private DataStream dataStream = null;
Copy link
Owner Author

Choose a reason for hiding this comment

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

This should not be contained in this.

compilerVertex should be abstract and needs to have an impl specific to the datastream API components.

@@ -52,7 +53,7 @@
/**
Copy link
Owner Author

Choose a reason for hiding this comment

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

All of the components here in the map should be extending from CompilerVertex so that the context does not depend on any specific Compiler impl.


import com.uber.athena.flux.flink.compiler.api.CompilerVertex;
Copy link
Owner Author

Choose a reason for hiding this comment

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

FluxContext should be moved to top level API since it should not link with any compiler specific. this context belongs to flux.

1. Compiler API level contains the compiling vertex encap; the compilation graph algorithm: BFS; the compilation context that stores intermediate compilation data
2. Impl of compiler moved to a datastream specific impl. later on can support operator level.
3. Separated out specific utilities and API level independent components such as the compiler suite.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant