~/talk

Taking a look under the hood of Apache Flink’s relational APIs

slides:none on file

Flink exposes a Table API and SQL that both translate into the same Calcite logical plan, run through a Volcano-style cost-based optimizer and then into DataSet/DataStream programs with Apache Calcite handling parsing/validation and code generation producing Java functions compiled on the cluster. Batch queries already support joins, sorts and many SQL functions; streaming is getting streaming window aggregates (prototype working) and joins later. Cost estimates don’t use source statistics yet, so join order is currently preserved.

AI-written summary · about

  1. 0:00Introduction to Flink relational APIs
  2. 3:15Motivation for relational APIs
  3. 8:13Batch vs streaming relational queries
  4. 11:29Table API overview and example
  5. 14:20SQL API overview and example
  6. 17:36Translation architecture overview
  7. 20:24Logical plan and validation
  8. 24:44Optimization process
  9. 27:55Code generation and execution
  10. 32:15Current state and limitations
  11. 33:22Future plans for streaming support
  12. 36:57Summary and benefits
  13. 38:04Q&A: Why Table API?
  14. 40:30Q&A: Optimizers and cost functions
  15. 42:13Q&A: Table scope and state
  16. 43:57Q&A: Flink vs Kafka Streams
  17. 45:43Q&A: Multi-window queries
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.