Flink’s APIs: mix & match
Easy to use / declarative
Flink SQL
● ● ● ●
Level of abstraction
Table API ●
DataStream API
Process Functions
● ●
● ●
Code Generation Efficient data types Cost-based optimizer Highly efficient operator implementations (joins, aggregations, deduplications, …) → Easy to write efficient code with low effort Ready-made operators for Windowing: sliding, tumbling, session. Late event handling. CEP / Async IO operators Sources / Sinks / Flink Connectors
Custom data types Raw, low level access to state, time → A lot of potential to make mistakes :)
Low level / expressive
X/Bluesky: @gamussa