Skip to main content
This quickstart demonstrates how to create and use an internal Iceberg table (RisingWave-managed) with Amazon S3 Tables as the Iceberg REST catalog.

Prerequisites

  • A running RisingWave cluster (self-hosted or RisingWave Cloud) and access to run SQL.
  • AWS CLI configured with credentials (AK/SK).
  • An existing S3 table bucket ARN (customer-managed table bucket).
  • An existing namespace in that table bucket (for example, demo_ns).
If you don’t have a table bucket yet, you can create one with AWS CLI (S3 Tables must be available in your region). See Create Amazon S3 Tables with AWS CLI.

Demo: create and manage Iceberg tables in RisingWave

Set variables

If you created the table bucket + namespace using AWS CLI by following Create Amazon S3 Tables with AWS CLI, you should already have REGION, TABLE_BUCKET_ARN, and NAMESPACE.

Start psql and pass parameters

This command opens an interactive psql session with variables preloaded.

Step 1: Create the Iceberg connection

Step 2: Create the internal Iceberg table

Step 3: Write and query

Use DuckDB to query data

Cleanup (optional)

What you just built

  • RisingWave created and manages an Iceberg table, while S3 Tables acts as the REST catalog service.
  • Your table is addressable by Iceberg engines through the same S3 Tables catalog and table bucket.
For reference, see Amazon S3 Tables catalog.