Criar um namespace

Com o catálogo do ambiente de execução do Lakehouse, é possível criar namespaces em endpoints de catálogo do Lakehouse sem fronteiras para agrupar e organizar tabelas relacionadas.

Ao criar um namespace, é possível associá-lo a um bucket do Cloud Storage ou caminho personalizado ou herdar o local de armazenamento padrão do catálogo.

Antes de começar

  1. Leia Sobre o catálogo do ambiente de execução do Lakehouse para entender como o catálogo do ambiente de execução do Lakehouse funciona e as limitações do serviço.
  2. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.

    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

    • 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API, if it is not already enabled.

    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.

    Enable the API

    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

    • 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API, if it is not already enabled.

    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.

    Enable the API

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:

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 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 um caminho para associar a ele:

  • Catálogo de vários buckets (recomendado): é possível definir qualquer local personalizado, desde que ele esteja em um local permitido pelo catálogo (default_location ou restricted_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: o local do namespace é herdado automaticamente do bucket único do catálogo.

Console

  1. No console do Google Cloud , abra a página Lakehouse.

    Acessar o Lakehouse

  2. Selecione um catálogo ou crie um se você não tiver.

  3. Na barra de menus, clique em + Criar namespace.

  4. Em Nome do namespace, insira um nome exclusivo para o namespace.

  5. Em Local, especifique opcionalmente um bucket do Cloud Storage ou caminho para associar ao namespace. O local corresponde ao bucket do depósito.

  6. 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 (recomendado)

Para criar um namespace em um catálogo de vários buckets (em que é possível especificar um local personalizado), execute o comando gcloud biglake iceberg namespaces create com a flag --properties:

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 projeto Google Cloud .
  • 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

Para criar um namespace em um catálogo de bucket único, omita a flag --properties. O local do namespace é herdado automaticamente do único bucket 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 solicitação POST para o endpoint CreateIcebergNamespace:

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 projeto Google Cloud .
  • 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