Skip to main content
SeaweedFS is an open-source distributed object store whose S3 Table Buckets provide both halves of an Iceberg deployment: the embedded Iceberg REST catalog serves the table metadata, and the table bucket stores the table data as Parquet files behind the same S3 gateway. You can use it with RisingWave when creating an Iceberg SOURCE or SINK.
SeaweedFS uses the same SigV4 REST catalog parameters as Amazon S3 Tables (catalog.rest.sigv4_enabled, catalog.rest.signing_region, and catalog.rest.signing_name). For the complete list of catalog-related parameters, see the main Catalog configuration page.

Deploy SeaweedFS

For local testing, start the whole SeaweedFS stack in one container. The S3 credentials are provided through the standard AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, which SeaweedFS picks up as a fallback when no -s3.config file is supplied. The -tableBucket flag pre-creates a table bucket named analytics that serves as the Iceberg warehouse:
The S3 endpoint listens on port 8333 and the Iceberg REST catalog on port 8181.

Required REST parameters

SeaweedFS authenticates catalog requests with AWS SigV4 signing, using the same access key and secret key as the S3 gateway:

Read from an Iceberg table

The deployment step above creates only the analytics table bucket. The default.orders table must already exist in the catalog before you create a source — seed it with a tool such as PyIceberg or another Iceberg client writing to the same SeaweedFS S3 gateway.

Write to an Iceberg table

Rows are committed to the Iceberg table at intervals controlled by commit_checkpoint_interval (default: about every 60 seconds), and other engines can read them through the same catalog.