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 aide à organiser vos tables dans le catalogue d'exécution Lakehouse.

Avant de commencer

  1. Consultez À propos du catalogue d'environnements d'exécution Lakehouse pour comprendre le fonctionnement du catalogue d'environnements d'exécution Lakehouse et les limites du service.
  2. Connectez-vous à votre compte Google Cloud . 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 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.

    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

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 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 :

  • Catalogue multibuckets (bl://) (recommandé) : vous pouvez définir n'importe quel emplacement personnalisé, à condition qu'il se trouve dans 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éé dans l'emplacement par défaut du catalogue (par exemple, gs://{default_location}/{namespace_name}).
  • Catalogue à bucket unique (gs://) : l'emplacement de l'espace de noms est automatiquement hérité du bucket unique du catalogue.

Console

  1. Dans la console Google Cloud , 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 menus, 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. Pour Emplacement, vous pouvez spécifier un bucket Cloud Storage ou un chemin d'accès à associer à votre espace de noms. L'emplacement correspond au bucket d'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 à plusieurs buckets (bl://) (recommandé)

Pour créer un espace de noms dans un catalogue à plusieurs buckets (où vous pouvez éventuellement spécifier un emplacement personnalisé), exécutez la commande gcloud biglake iceberg namespaces create avec l'indicateur --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 projet Google Cloud .
  • CATALOG_ID : ID de votre catalogue.
  • LOCATION : (facultatif) bucket ou chemin d'accès Cloud Storage 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 à un seul bucket, 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 requête POST au point de terminaison CreateIcebergNamespace :

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

Étapes suivantes