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 serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
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 serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
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 com papéis personalizados ou outros papéis predefinidos.
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:
- Catálogo de 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}). Catálogo de bucket único (
gs://): o local do namespace é herdado automaticamente do bucket único do catálogo.
Console
No Google Cloud console do, 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.
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 ou caminho personalizado do Cloud Storage 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 ou caminho personalizado do Cloud Storage para associar ao namespace (por exemplo,gs://my-bucket/my-path).
A seguir
- Saiba como gerenciar ACLs de namespace.