Iceberg table function

BETA

The Tinybird iceberg() table function is currently in private beta. If you're interested in early access, reach out to support.

The Tinybird iceberg() table function allows you to read data from your existing Apache Iceberg database in S3 into Tinybird, then schedule a regular copy pipe to orchestrate synchronization. You can load full tables, and every run performs a full replace on the data source.

To use it, define a node using standard SQL and the iceberg function keyword, then publish the node as a copy pipe that does a sync on every run. See Table functions for general information and tips.

Additionally you can use the iceberg table function in API endpoints.

Syntax

Create a new pipe node. Call the iceberg table function and pass the AWS access key and secret as Tinybird secrets:

Example query logic
SELECT *
FROM iceberg(
  's3://your_bucket/iceberg/db/table',
  {{tb_secret('aws_key')}},
  {{tb_secret('aws_secret')}},
)

Publish this node as a copy pipe. You can choose to append only new data or replace all data.

Check a full working example in this GitHub repository

See also

Updated