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. Consultez À propos du catalogue d'environnements d'exécution Lakehouse pour comprendre comment il fonctionne et connaître 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 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 la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via 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 à plusieurs buckets (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 à un seul bucket : 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 à plusieurs buckets (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 gcloud biglake iceberg namespaces create commande 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 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 à un seul bucket

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 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 ou chemin d'accès Cloud Storage personnalisé à associer à l'espace de noms (par exemple, gs://my-bucket/my-path).

Étape suivante