A criação de um namespace em um catálogo (como um catálogo REST do Apache Iceberg ou do Apache Hive) ajuda a organizar as tabelas no catálogo de ambientes de execução do Lakehouse.
Antes de começar
- Leia Sobre o catálogo de ambientes de execução do Lakehouse para entender como ele funciona e as limitações do serviço.
- 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.
Funções exigidas
Para receber as permissões necessárias para criar um namespace, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Todos:
- Administrador do BigLake (
roles/biglake.admin) - Administrador de armazenamento (
roles/storage.admin)
- Administrador do BigLake (
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.
Criar um namespace
Crie um namespace em um catálogo.
Considerações
Ao criar um namespace, você pode especificar um bucket do Cloud Storage ou caminho para associar a ele:
- Vários buckets (
bl://) (recomendado): é possível definir qualquer local personalizado, desde que ele esteja em um local permitido pelo catálogo (default_locationourestricted_locations). Se você não especificar um local, o namespace será criado no local padrão do catálogo (por exemplo,gs://{default_location}/{namespace_name}). Bucket único (
gs://): o local do namespace é herdado automaticamente do bucket único do catálogo.
Console
No Google Cloud console, abra a página Lakehouse.
Selecione um catálogo ou crie um, se ainda não tiver.
Na barra de menus, clique em + Criar namespace.
Em Nome do namespace, insira um nome exclusivo para ele.
Em Local, especifique um bucket do Cloud Storage ou caminho para associar ao namespace. O local corresponde ao bucket do data warehouse.
Clique em Criar.
O namespace é criado e aparece na lista de detalhes do catálogo.
gcloud
Criar um namespace em um catálogo de vários buckets (bl://) (recomendado)
Para criar um namespace em um catálogo de vários buckets (em que é possível especificar um local personalizado), execute o gcloud biglake iceberg namespaces create comando com a --properties flag:
gcloud biglake iceberg namespaces create NAMESPACE_NAME \ --project="PROJECT_ID" \ --catalog="CATALOG_ID" \ [--properties="location=LOCATION"]
Substitua:
NAMESPACE_NAME: um nome para o namespace.PROJECT_ID: o ID do Google Cloud projeto.CATALOG_ID: o ID do catálogo.LOCATION: (opcional) um bucket do Cloud Storage ou caminho personalizado para associar ao namespace (por exemplo,gs://my-bucket/my-path).
Criar um namespace em um catálogo de bucket único (gs://)
Para criar um namespace em um catálogo de bucket único, omita a flag --properties.
O local do namespace é herdado automaticamente do bucket único do catálogo.
gcloud biglake iceberg namespaces create NAMESPACE_NAME \ --project="PROJECT_ID" \ --catalog="CATALOG_ID"
REST
Para criar um namespace usando a API REST, faça uma POST solicitação para o
CreateIcebergNamespace endpoint:
POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces
O corpo da solicitação precisa conter um payload JSON CreateNamespaceRequest do Iceberg válido que defina o identificador e as propriedades do namespace:
{
"namespace": [
"NAMESPACE_NAME"
],
"properties": {
"location": "LOCATION"
}
}
Substitua:
PROJECT_ID: o ID do Google Cloud projeto.CATALOG_ID: o ID do catálogo.NAMESPACE_NAME: um nome para o namespace.LOCATION: (opcional) um bucket do Cloud Storage ou caminho personalizado para associar ao namespace (por exemplo,gs://my-bucket/my-path).