Criar um namespace

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

  1. Leia Sobre o catálogo de ambientes de execução do Lakehouse para entender como ele funciona e as limitações do serviço.
  2. Faça login na sua Google Cloud conta. Se você começou a usar o Google Cloud, 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.

    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.

    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.

    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.

    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 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_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}).
  • Bucket único (gs://): o local do namespace é herdado automaticamente do bucket único do catálogo.

Console

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

    Acessar o Lakehouse

  2. Selecione um catálogo ou crie um, se ainda não tiver.

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

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

  5. Em Local, especifique um bucket do Cloud Storage ou caminho para associar ao namespace. O local corresponde ao bucket do data warehouse.

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