Skip to main content

Flink

Use Flink to ingest streams into Paimon, query table snapshots, follow changes, and enrich events with lookup joins. Start with Quick Start for a complete local example or Installation to prepare an existing cluster.

A Flink writer commits snapshots to Paimon; batch, streaming, and lookup readers consume the table in different ways.

Streaming writers commit data as checkpoints complete. Batch readers select a table snapshot; streaming readers can load a snapshot and then follow changes. Lookup joins use a Paimon table to enrich records from another stream. The table's layout and changelog configuration determine which read paths and change semantics are available.

Find the Right Guide​

What you want to doStart hereContinue with
Run your first pipelineQuick StartInstallation
Define a catalog, keys, and partitionsSQL DDLSQL Alter, Default Value
Ingest or modify recordsSQL WriteCDC Ingestion
Read current or historical dataSQL QuerySnapshots, Tags
Enrich a streamLookup JoinsQuery Service
Tune and operate a jobRuntime ConfigurationConsumer ID, Savepoint, Data Lineage
Run a maintenance operationProceduresAction Jars
Diagnose unexpected results or recovery failuresTroubleshootingRuntime Configuration
Develop with JavaFlink APITable Concepts

Choose the Table Semantics​

SQL or Action Jar?​

Use SQL for table definitions and read/write queries. On Flink 1.18+, use CALL for the operations listed in Procedures. Named procedure arguments require Flink 1.19+. Use an action jar when submitting the corresponding operation from the command line. Both interfaces can start Flink jobs, so select the runtime mode and options for the operation.