Row lineage feature [Technical Preview]

Impala supports row lineage tracking on Iceberg V3 tables. Row lineage is an Iceberg V3 capability. Row lineage assigns a unique row identifier to each row and records which snapshot last updated a row. This metadata supports change data capture (CDC) and row provenance use cases.

To use row lineage from Impala, create an Iceberg V3 table by setting 'format-version'='3'. When Impala writes to the table, Impala maintains the row lineage metadata that the specification requires; you need not use new SQL syntax to enable row lineage.

Row lineage applies to newly written rows on V3 tables. It does not apply to rows updated using equality deletes.

Impala example

CREATE TABLE ice_3 (i INT, s STRING) STORED BY ICEBERG TBLPROPERTIES
  ('format-version'='3');

INSERT INTO ice_3 VALUES (1, 'one'), (2, 'two');