Skip to main content
You can connect RisingWave to an AWS Glue Data Catalog to manage metadata for your Iceberg tables. This allows you to use Glue as a central metastore when creating an Iceberg SOURCE, SINK, or CONNECTION (for internal Iceberg tables).
For a complete list of all catalog-related parameters, see the main Catalog configuration page.

Example

Examples for using an AWS Glue catalog with internal Iceberg tables, sinks, and sources.

Optional: Use separate permissions for S3 and Glue

Support for glue.* IAM role parameters was added in v2.7.0.
By default, if Glue-specific credentials/role are not provided, RisingWave falls back to using the S3 credentials/role. If you want to use different permissions for S3 and Glue, you can configure them separately. This still follows the same two authentication methods as above:
-- Option 1 (separate AK/SK): enable_config_load = false
CREATE CONNECTION glue_conn WITH (
    type = 'iceberg',
    catalog.type = 'glue',
    catalog.name = 'demo',
    warehouse.path = 's3://my-bucket/warehouse/',

    -- S3 credentials
    s3.region = 'ap-southeast-2',
    s3.access.key = '...',
    s3.secret.key = '...',

    -- Glue credentials (optional; otherwise falls back to S3)
    glue.region = 'ap-southeast-2',
    glue.access.key = '...',
    glue.secret.key = '...',

    enable_config_load = false
);
-- Option 2 (separate IAM roles): enable_config_load = true
-- Prereq: grant Glue and S3 permissions to your IAM roles, then make sure the machine running this SQL can assume the roles (via env/config),
-- or specify the roles explicitly with s3.iam_role_arn and glue.iam_role_arn.
CREATE CONNECTION glue_conn WITH (
    type = 'iceberg',
    catalog.type = 'glue',
    catalog.name = 'demo',
    warehouse.path = 's3://my-bucket/warehouse/',

    -- S3 role (optional if already in env/config)
    s3.region = 'ap-southeast-2',
    s3.iam_role_arn = 'arn:aws:iam::123456789012:role/MyS3Role',

    -- Glue role (optional; otherwise falls back to S3 role)
    glue.region = 'ap-southeast-2',
    glue.iam_role_arn = 'arn:aws:iam::123456789012:role/MyGlueRole',

    enable_config_load = true
);