You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/manage/pages/iceberg/about-iceberg-topics.adoc
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -78,6 +78,8 @@ To create an Iceberg table for a Redpanda topic, you must set the cluster config
78
78
endif::[]
79
79
80
80
. Set the `iceberg_enabled` configuration option on your cluster to `true`.
81
+
+
82
+
When multiple clusters write to the same catalog, each cluster must use a distinct namespace to avoid table name collisions. This is especially critical for REST catalog providers that offer a single global catalog per account (such as AWS Glue), where there is no other isolation mechanism. By default, Redpanda creates Iceberg tables in a namespace called `redpanda`. To use a unique namespace for your cluster's REST catalog integration, also set config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`] when you set `iceberg_enabled`. This property cannot be changed after you enable Iceberg topics on the cluster.
81
83
ifdef::env-cloud[]
82
84
+
83
85
[tabs]
@@ -90,6 +92,8 @@ rpk::
90
92
rpk cloud login
91
93
rpk profile create --from-cloud <cluster-id>
92
94
rpk cluster config set iceberg_enabled true
95
+
# Optional: set a custom namespace (default is "redpanda")
96
+
# rpk cluster config set iceberg_default_catalog_namespace '["<custom-namespace>"]'
The link:/api/doc/cloud-controlplane/operation/operation-clusterservice_updatecluster[`PATCH /clusters/{cluster.id}`] request returns the ID of a long-running operation. The operation may take up to ten minutes to complete. You can check the status of the operation by polling the link:/api/doc/cloud-controlplane/operation/operation-operationservice_getoperation[`GET /operations/\{id}`] endpoint.
@@ -122,8 +129,6 @@ The link:/api/doc/cloud-controlplane/operation/operation-clusterservice_updatecl
122
129
endif::[]
123
130
ifndef::env-cloud[]
124
131
+
125
-
When multiple clusters write to the same catalog, each cluster must use a distinct namespace to avoid table name collisions. This is especially critical for REST catalog providers that offer a single global catalog per account (such as AWS Glue), where there is no other isolation mechanism. By default, Redpanda creates Iceberg tables in a namespace called `redpanda`. To use a unique namespace for your cluster's REST catalog integration, also set config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`] when you set `iceberg_enabled`. This property cannot be changed after you enable Iceberg topics on the cluster.
Copy file name to clipboardExpand all lines: modules/manage/pages/iceberg/iceberg-topics-aws-glue.adoc
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -150,9 +150,9 @@ endif::[]
150
150
To configure your Redpanda cluster to enable Iceberg on a topic and integrate with the AWS Glue Data Catalog:
151
151
152
152
. Edit your cluster configuration to set the `iceberg_enabled` property to `true`, and set the catalog integration properties listed in the example below.
153
-
ifndef::env-cloud[]
154
153
+
155
154
By default, Redpanda creates Iceberg tables in a namespace called `redpanda`. Because AWS Glue provides a single catalog per account, each Redpanda cluster that writes to the same Glue catalog must use a distinct namespace to avoid table name collisions. To set a unique namespace, also set config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`] when you set `iceberg_enabled`. This property cannot be changed after Iceberg is enabled.
155
+
ifndef::env-cloud[]
156
156
+
157
157
Run `rpk cluster config edit` to update these properties:
# Use the iceberg_rest_catalog_aws_* properties if you want to
173
-
# use separate AWS credentials for the catalog, or omit these lines to reuse S3
172
+
# Use the iceberg_rest_catalog_aws_* properties if you want to
173
+
# use separate AWS credentials for the catalog, or omit these lines to reuse S3
174
174
# (cloud_storage_*) credentials.
175
175
# For access using access keys only, use iceberg_rest_catalog_aws_access_key
176
-
# and iceberg_rest_catalog_aws_secret_key. For access with an IAM role, use
177
-
# iceberg_rest_catalog_credentials_source only.
176
+
# and iceberg_rest_catalog_aws_secret_key. For access with an IAM role, use
177
+
# iceberg_rest_catalog_credentials_source only.
178
178
# iceberg_rest_catalog_aws_region:
179
179
# iceberg_rest_catalog_aws_access_key:
180
180
# iceberg_rest_catalog_aws_secret_key:
@@ -193,6 +193,7 @@ As a security best practice, do not use the bucket root for the base location. A
193
193
--
194
194
endif::[]
195
195
ifdef::env-cloud[]
196
+
+
196
197
Use `rpk` as shown in the following examples, or xref:manage:cluster-maintenance/config-cluster.adoc#set-cluster-configuration-properties[use the Cloud API] to update these cluster properties. The update might take several minutes to complete.
Use your own values for the following placeholders:
246
249
+
247
250
--
251
+
* `<custom-namespace>`: A unique namespace for this cluster's Iceberg tables. Each Redpanda cluster that writes to the same Glue catalog must use a distinct namespace to avoid table name collisions. If omitted, the default namespace `redpanda` is used.
248
252
* `<glue-region>`: The AWS region where your Data Catalog is located. The region in the AWS Glue endpoint must match the region specified in your config_ref:iceberg_rest_catalog_aws_region,true,properties/cluster-properties[`iceberg_rest_catalog_aws_region`] property.
249
253
* `<cluster-storage-bucket-name>` and `<warehouse-path>`: AWS Glue requires you to specify the base location where Redpanda stores Iceberg data and metadata files. You must use an S3 URI; for example, `s3://<cluster-storage-bucket-name>/iceberg`.
250
-
** Bucket name: For BYOC clusters, the bucket name is `redpanda-cloud-storage-<cluster-id>`. For BYOVPC clusters, use the name of the object storage bucket you created as a xref:get-started:cluster-types/byoc/aws/vpc-byo-aws.adoc#configure-the-redpanda-network-and-cluster[customer-managed resource].
254
+
** Bucket name: For BYOC clusters, the bucket name is `redpanda-cloud-storage-<cluster-id>`. For BYOVPC clusters, use the name of the object storage bucket you created as a xref:get-started:cluster-types/byoc/aws/vpc-byo-aws.adoc#configure-the-redpanda-network-and-cluster[customer-managed resource].
251
255
+
252
256
This must be the same bucket used for your cluster's object storage. You cannot specify a different bucket for Iceberg data.
253
257
** Warehouse: This is a name you choose as the logical name (such as `iceberg`) for the warehouse represented by all Redpanda Iceberg topic data in the cluster.
You should see the topic as a table with data in Unity Catalog. The data may take some time to become visible, depending on your config_ref:iceberg_target_lag_ms,true,properties/cluster-properties[`iceberg_target_lag_ms`] setting.
193
193
194
-
ifndef::env-cloud[]
195
194
. In Catalog Explorer, open your catalog. You should see a `redpanda` schema (or the namespace you configured with config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`]), in addition to `default` and `information_schema`.
196
-
endif::[]
197
-
ifdef::env-cloud[]
198
-
. In Catalog Explorer, open your catalog. You should see a `redpanda` schema, in addition to `default` and `information_schema`.
199
-
endif::[]
200
195
. The schema and the table residing within it are automatically added for you. The table name is the same as the topic name.
NOTE: The query examples on this page use `redpanda` as the Iceberg namespace, which is the default. If you configured a different namespace using config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`], replace `redpanda` with your configured namespace.
85
-
endif::[]
86
84
87
85
=== Topic with schema (`value_schema_id_prefix` mode)
You should see the topic as a table in Open Catalog.
170
170
171
171
. In Open Catalog, select *Catalogs*, then open your catalog.
172
-
ifndef::env-cloud[]
173
172
. Under your catalog, you should see the `redpanda` namespace (or the namespace you configured with config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`]), and a table with the name of your topic. The namespace and the table are automatically added for you.
174
-
endif::[]
175
-
ifdef::env-cloud[]
176
-
. Under your catalog, you should see the `redpanda` namespace and a table with the name of your topic. The namespace and the table are automatically added for you.
Copy file name to clipboardExpand all lines: modules/manage/pages/iceberg/use-iceberg-catalogs.adoc
-4Lines changed: 0 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,13 +92,11 @@ To connect to a REST catalog, set the following cluster configuration properties
92
92
93
93
NOTE: You must set `iceberg_rest_catalog_endpoint` at the same time that you set `iceberg_catalog_type` to `rest`.
94
94
95
-
ifndef::env-cloud[]
96
95
==== Configure table namespace
97
96
98
97
Check if your REST catalog provider has specific requirements or recommendations for namespaces. For example, AWS Glue offers only a single global catalog per account, and each cluster that writes to the same Glue catalog must use a distinct namespace to avoid table name collisions.
99
98
100
99
By default, Redpanda creates Iceberg tables in a namespace called `redpanda`. To use a unique namespace, configure the config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`] cluster property. You must set this property before enabling the Iceberg integration or at the same time. After you have enabled Iceberg, do not change this property value.
101
-
endif::[]
102
100
103
101
==== Configure authentication
104
102
@@ -283,9 +281,7 @@ SELECT * FROM streaming.redpanda.<table-name>;
283
281
----
284
282
285
283
The Iceberg table name is the name of your Redpanda topic.
286
-
ifndef::env-cloud[]
287
284
If you configured a different namespace using config_ref:iceberg_default_catalog_namespace,true,properties/cluster-properties[`iceberg_default_catalog_namespace`], replace `redpanda` with your configured namespace.
288
-
endif::[]
289
285
290
286
TIP: You may need to explicitly create a table for the Iceberg data in your query engine. For an example, see xref:manage:iceberg/redpanda-topics-iceberg-snowflake-catalog.adoc[].
0 commit comments