Créer un espace de noms

La création d'un espace de noms dans un catalogue (tel qu'un catalogue REST Apache Iceberg ou un catalogue Apache Hive) vous permet d'organiser vos tables dans le catalogue d'environnements d'exécution Lakehouse.

Avant de commencer

  1. Lisez À propos du catalogue d'environnements d'exécution Lakehouse pour comprendre comment il fonctionne et quelles sont les limites du service.
  2. Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.

    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

Rôles requis

Pour obtenir les autorisations nécessaires pour créer un espace de noms, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un espace de noms

Créez un espace de noms dans un catalogue.

Remarques

Lorsque vous créez un espace de noms, vous pouvez éventuellement spécifier un bucket Cloud Storage ou un chemin d'accès à associer à l'espace de noms :

  • Multi-bucket (bl://) (recommandé) : vous pouvez définir n'importe quel emplacement personnalisé tant qu'il se trouve sous un emplacement autorisé par le catalogue (default_location ou restricted_locations). Si vous ne spécifiez pas d'emplacement, l'espace de noms est créé sous l'emplacement par défaut du catalogue (par exemple, gs://{default_location}/{namespace_name}).
  • Bucket unique (gs://) : l'emplacement de l'espace de noms est automatiquement hérité du bucket unique du catalogue.

Console

  1. Dans la Google Cloud console, ouvrez la page Lakehouse.

    Accéder à Lakehouse

  2. Sélectionnez un catalogue existant ou créez-en un si vous n'en avez pas.

  3. Dans la barre de menu, cliquez sur + Créer un espace de noms.

  4. Dans le champ Nom de l'espace de noms, saisissez un nom unique pour votre espace de noms.

  5. Dans le champ Emplacement, spécifiez éventuellement un bucket Cloud Storage ou un chemin d'accès à associer à votre espace de noms. L'emplacement correspond au bucket de l'entrepôt.

  6. Cliquez sur Créer.

    Votre espace de noms est créé et apparaît dans la liste des détails de votre catalogue.

gcloud

Créer un espace de noms dans un catalogue multi-buckets (bl://) (recommandé)

Pour créer un espace de noms dans un catalogue multi-buckets (où vous pouvez éventuellement spécifier un emplacement personnalisé), exécutez la commandegcloud biglake iceberg namespaces create avec l'option --properties :

gcloud biglake iceberg namespaces create NAMESPACE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    [--properties="location=LOCATION"]

Remplacez les éléments suivants :

  • NAMESPACE_NAME : nom de votre espace de noms.
  • PROJECT_ID: ID de votre Google Cloud projet.
  • CATALOG_ID : ID de votre catalogue.
  • LOCATION : (facultatif) bucket Cloud Storage ou chemin d'accès personnalisé à associer à l'espace de noms (par exemple, gs://my-bucket/my-path).

Créer un espace de noms dans un catalogue à bucket unique (gs://)

Pour créer un espace de noms dans un catalogue à bucket unique, omettez l'option --properties. L'emplacement de l'espace de noms est automatiquement hérité du bucket unique du catalogue.

gcloud biglake iceberg namespaces create NAMESPACE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID"

REST

Pour créer un espace de noms à l'aide de l'API REST, envoyez une POST requête au CreateIcebergNamespace point de terminaison :

POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces

Le corps de la requête doit contenir une charge utile JSON CreateNamespaceRequest Iceberg valide définissant l'identifiant et les propriétés de l'espace de noms :

{
  "namespace": [
    "NAMESPACE_NAME"
  ],
  "properties": {
    "location": "LOCATION"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID de votre Google Cloud projet.
  • CATALOG_ID : ID de votre catalogue.
  • NAMESPACE_NAME : nom de votre espace de noms.
  • LOCATION : (facultatif) bucket Cloud Storage ou chemin d'accès personnalisé à associer à l'espace de noms (par exemple, gs://my-bucket/my-path).

Étape suivante