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
+6-2Lines changed: 6 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`. You cannot change this property 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>"]'
93
97
----
94
98
--
95
99
@@ -109,6 +113,8 @@ export RP_CLOUD_TOKEN=`curl -X POST "https://auth.prd.cloud.redpanda.com/oauth/t
109
113
-d "client_secret=<client-secret>"`
110
114
111
115
# Update cluster configuration to enable Iceberg topics
116
+
# Optional: to set a custom namespace (default is "redpanda"),
117
+
# add "iceberg_default_catalog_namespace":["<custom-namespace>"] to custom_properties
@@ -122,8 +128,6 @@ The link:/api/doc/cloud-controlplane/operation/operation-clusterservice_updatecl
122
128
endif::[]
123
129
ifndef::env-cloud[]
124
130
+
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
+11-6Lines changed: 11 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 your own values for the following placeholders:
185
185
+
186
186
--
187
+
* `<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.
187
188
* `<glue-region>`: The AWS region where your Data Catalog is located. The region in the AWS Glue endpoint must match the region specified in either your config_ref:cloud_storage_region,true,properties/cluster-properties[`cloud_storage_region`] or config_ref:iceberg_rest_catalog_aws_region,true,properties/cluster-properties[`iceberg_rest_catalog_aws_region`] property.
188
189
* `<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://<bucket-name>/iceberg`. This must be the same bucket used for object storage (your `cloud_storage_bucket`). You cannot specify a different bucket for Iceberg data.
189
190
+
@@ -193,6 +194,7 @@ As a security best practice, do not use the bucket root for the base location. A
193
194
--
194
195
endif::[]
195
196
ifdef::env-cloud[]
197
+
+
196
198
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
250
+
247
251
--
252
+
* `<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
253
* `<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
254
* `<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].
255
+
** 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
256
+
252
257
This must be the same bucket used for your cluster's object storage. You cannot specify a different bucket for Iceberg data.
253
258
** 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