walterddr / flink-flux Goto Github PK
View Code? Open in Web Editor NEWThis is a mirror repo for Uber's internal Flink plugins.
This is a mirror repo for Uber's internal Flink plugins.
See:
https://docs.google.com/document/d/1B0O9FbfwC_XDjoB2mL8Dtmv8VeRxhkGX7090dZGbhJ4/edit#
New compiler needs to be flexible enough to handle different DSLs, but should be clean in terms of how to compiler vertex and job graph
Optionally,
Code-Restructure: create a flux-level compilation graph generator in flux-core and remove it from the flink-flux compilation core level (Under discussion whether it should fit in #14 or here)
Leverage the Conversion Rule matching / Rule application to dynamically apply compilation methods.
Optionally, adopt node-visit compilation pattern to reverse generic the compilation steps.
Adding optional inputSpec
field in VertexDef
to allow additional specification on the stream itself.
Currently the compilation framework assumes many stuff
This POC works well in simplest cases but lack of flexibility the system is trying to support.
Improvement needs several part.
[UPDATE]
Reference:
https://docs.google.com/document/d/1B0O9FbfwC_XDjoB2mL8Dtmv8VeRxhkGX7090dZGbhJ4/
Can you give an example for that.
#8 fixes the compiler extendability problem by introducing the compiler factory and the implementation for the basic compiler. However this mixed in the compiler graph implementation as well, which is suppose to be the interpreter factory (the glue part from individual operator/component compiled, to the actual job-graph)
Need to spin of another "interpreter" concept
Currently the Flux topology definition makes use of the Flink's internal components (Source, Sink, Operator) as the main component derive.
This is problematic and violation of the DSL extensibility design: having the definition of the most basic component directly tight with the target language make it impossible to extend.
See how streamline differs these two [1][2] components.
Given that this is streamline UI derived (e.g. from json->flux), similar architecture should be provided in our case that goes from flux->flink
Follows with the initial commit. The current problem in the connection of direct operator with a DataStream API is that the type system does not work properly - E.g. there's no explicit type information passed over.
In order to support type system, a more formed operator level definition is needed.
See:
https://docs.google.com/document/d/1L_HMYS1MSkN7CYpPjNjI1QJ9QaWMMTbH53V1J7gs3Y4/edit#
Several components needed:
Additional components can be adjusted but will not be included in this DSL redesign.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.