The following syntax is used for the CREATE DATALAKE statement:
CREATE DATALAKE iceberg_biglake_rest_gcp
EXTERNAL SECURITY CATALOG gcp_idp_auth,
EXTERNAL SECURITY STORAGE gcp_idp_auth
USING
catalog_type ('<<catalog_type>>')
rest_catalog_type('<<rest_catalog_type>>')
catalog_location ('<<catalog_location>>')
idp_type('<<idp_type>>')
storage_location ('<<storage_location>>')
project_id('<<project_id>>')
client_id('<<client_id>>')
client_email('<<client_email>>')
TABLE FORMAT iceberg;
Each name-value pair in this statement specifies a configuration parameter for datalake creation. Update these values as needed to match your environment.
BigLake REST Catalog configuration parameters are described in the following table:
| Parameter | Requirement | Description | Example Value |
|---|---|---|---|
| catalog_type | Yes | Must be set to rest to enable the BigLake REST Catalog integration. | catalog_type ("rest") |
| rest_catalog_type | Yes | Specifies the REST Iceberg catalog type. This NVP is newly introduced to improve validation and supply default values for REST catalog integrations. Must be set to biglake. | rest_catalog_type ("biglake") |
| catalog_location | Yes | Specifies the URI of the Iceberg BigLake REST Catalog endpoint. | catalog_location ('https://biglake.googleapis.com/iceberg/v1beta/restcatalog' |
| idp_type | Yes | Specifies the Identity Provider (IDP) type for catalog authentication. Allowed value: biglake_gcp_service_account (Google Cloud Service Account Access Token for BigLake Iceberg REST API). | idp_type ('biglake_gcp_service_account') |
| storage_location | Yes | Specifies the Google Cloud Storage location used to store Iceberg data files. | storage_location ('gs://tdotf-biglake-rest') |
| project_id | Yes | Specifies the Google Cloud Service Account Project ID. Used for both catalog and storage access. | project_id ('tc-otf') |
| client_id | Yes | Specifies the Google Cloud Service Account Client ID. Used for both catalog and storage access. | client_id ('110337432395221507455') |
| client_email | Yes | Specifies the Google Cloud Service Account Client Email. Used for both catalog and storage access. | client_email ('sa-tc-otf-000@tc-otf.iam.gserviceaccount.com') |
These name‑value pairs apply only when catalog_type is set to rest for the BigLake metastore using the Iceberg REST Catalog. They are validated during the execution of the CREATE DATALAKE statement.