DE Mastery GitHub

Apache Flink · FLK-05

Joins — regular, interval, temporal (point-in-time) & lookup

From your world. SCD2 point-in-time (as-of) joins: enrich a fact with the dimension version that was effective at the event's business time

Practice quiz with instant feedback. For a scored run that counts toward your local progress, use uv run de quiz FLK-05.

1An order placed on 2026-01-08 must be converted to USD. The business requires the FX rate that was in effect on 2026-01-08, even when the pipeline reprocesses the order weeks later. Which join is correct?
2What bounds the state of an interval join?
3Which risk does a regular (standard) join between two unbounded streams have?
4In a Flink SQL temporal join, what must the versioned (right) table have?
5You build an as-of enrichment by hand with a KeyedCoProcessFunction. Why do you register an event-time timer at the timestamp of the fact before you emit?
6A lookup join (for example JDBC) enriches orders with the address of the customer. You replay the pipeline to reprocess last quarter. What goes wrong?
7Which statements about the as-of (point-in-time) rule are correct? (choose all) (select all that apply)
8Unbounded keyed state in a regular or temporal join can be a problem over months of data. Why, and what control limits it?