カタログ(Apache Iceberg REST カタログや Apache Hive カタログなど)に Namespace を作成すると、Lakehouse ランタイム カタログ内のテーブルを整理できます。
始める前に
- Lakehouse ランタイム カタログについてを読んで、Lakehouse ランタイム カタログの仕組みとサービスの制限事項を確認します。
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
必要なロール
Namespace の作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
すべて:
- BigLake 管理者 (
roles/biglake.admin) - ストレージ管理者 (
roles/storage.admin)
- BigLake 管理者 (
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
名前空間の作成
カタログ内に Namespace を作成します。
考慮事項
名前空間を作成するときに、名前空間に関連付ける Cloud Storage バケットまたはパスを必要に応じて指定できます。
- マルチバケット(
bl://)(推奨): カタログで許可されているロケーション(default_locationまたはrestricted_locations)の下にある限り、任意のカスタム ロケーションを設定できます。ロケーションを指定しない場合、名前空間はカタログのデフォルトの場所(gs://{default_location}/{namespace_name}など)の下に作成されます。 単一バケット(
gs://): 名前空間のロケーションは、カタログの単一バケットから自動的に継承されます。
コンソール
Google Cloud コンソールで、[Lakehouse] ページを開きます。
既存のカタログを選択するか、まだ作成していない場合は新しいカタログを作成します。
メニューバーで、[+ Namespace を作成] をクリックします。
[Namespace name] に、Namespace の一意の名前を入力します。
[ロケーション] で、必要に応じて、名前空間に関連付ける Cloud Storage バケットまたはパスを指定します。ロケーションがウェアハウス バケットと一致している。
[作成] をクリックします。
Namespace が作成され、カタログの詳細リストに表示されます。
gcloud
マルチバケット(bl://)カタログに Namespace を作成する(推奨)
マルチバケット カタログに名前空間を作成するには(必要に応じてカスタム ロケーションを指定できます)、--properties フラグを指定して gcloud biglake iceberg namespaces create コマンドを実行します。
gcloud biglake iceberg namespaces create NAMESPACE_NAME \ --project="PROJECT_ID" \ --catalog="CATALOG_ID" \ [--properties="location=LOCATION"]
次のように置き換えます。
NAMESPACE_NAME: Namespace の名前。PROJECT_ID: 実際の Google Cloud プロジェクト ID。CATALOG_ID: カタログの ID。LOCATION:(省略可)名前空間に関連付けるカスタム Cloud Storage バケットまたはパス(gs://my-bucket/my-pathなど)。
単一バケット(gs://)カタログに Namespace を作成する
単一バケット カタログに Namespace を作成するには、--properties フラグを省略します。名前空間のロケーションは、カタログの単一バケットから自動的に継承されます。
gcloud biglake iceberg namespaces create NAMESPACE_NAME \ --project="PROJECT_ID" \ --catalog="CATALOG_ID"
REST
REST API を使用して Namespace を作成するには、CreateIcebergNamespace エンドポイントに POST リクエストを送信します。
POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces
リクエストの本文には、名前空間の識別子とプロパティを定義する有効な Iceberg CreateNamespaceRequest JSON ペイロードを含める必要があります。
{
"namespace": [
"NAMESPACE_NAME"
],
"properties": {
"location": "LOCATION"
}
}
次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。CATALOG_ID: カタログの ID。NAMESPACE_NAME: Namespace の名前。LOCATION:(省略可)名前空間に関連付けるカスタム Cloud Storage バケットまたはパス(gs://my-bucket/my-pathなど)。
次のステップ
- Namespace ACL の管理方法を確認する。