Skip to main content
This guide is for new Amazon S3 Tables users. You’ll create:
  • a table bucket (not a normal S3 bucket)
  • a namespace (similar to a database)
  • an Iceberg table (with a simple schema)
Then you’ll verify the table by querying it with DuckDB.

Prerequisites

  • AWS CLI v2 installed and configured with credentials (AK/SK), plus permissions to use S3 Tables.
  • A region that supports Amazon S3 Tables.
  • (Optional) duckdb installed locally for verification.

Key concepts

  • Table bucket: the top-level container in S3 Tables. It has an ARN like:
    • arn:aws:s3tables:<region>:<account-id>:bucket/<table-bucket-name>
  • Namespace: a logical container inside a table bucket (think “database”).
    • Namespace name is restricted: lowercase letters, digits, underscore.
  • Table: an Iceberg table inside a namespace.

Step-by-step: create bucket + namespace + table

Step 0: Set variables

Step 1: Verify your AWS CLI supports s3tables

Step 2: Create a table bucket

Confirm that it worked:

Step 3: Create a namespace

Confirm that it worked:

Step 4: Create a table schema file (Iceberg)

Step 5: Create the Iceberg table

Confirm that it worked:

Verify by querying with DuckDB

This step is useful if you want a quick “does the table exist?” validation locally.

Cleanup

Run the following when you’re done:

Next: use this table in RisingWave