Crea uno spazio dei nomi

La creazione di uno spazio dei nomi in un catalogo (ad esempio un catalogo REST Apache Iceberg o un catalogo Apache Hive) consente di organizzare le tabelle all'interno del catalogo runtime lakehouse.

Prima di iniziare

  1. Leggi l'articolo Informazioni sul catalogo runtime Lakehouse per capire come funziona il catalogo runtime Lakehouse e i limiti del servizio.
  2. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.

    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

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare uno spazio dei nomi, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea uno spazio dei nomi

Crea uno spazio dei nomi all'interno di un catalogo.

Considerazioni

Quando crei uno spazio dei nomi, puoi specificare facoltativamente un bucket Cloud Storage o un percorso da associare allo spazio dei nomi:

  • Catalogo multibucket (bl://) (consigliato): puoi impostare qualsiasi posizione personalizzata, purché si trovi in una posizione consentita dal catalogo (default_location o restricted_locations). Se non specifichi una posizione, lo spazio dei nomi viene creato nella località predefinita del catalogo (ad esempio, gs://{default_location}/{namespace_name}).
  • Catalogo con bucket singolo (gs://): la posizione dello spazio dei nomi viene ereditata automaticamente dal bucket singolo del catalogo.

Console

  1. Nella console Google Cloud , apri la pagina Lakehouse.

    Vai a Lakehouse

  2. Seleziona un catalogo esistente o creane uno se non ne hai.

  3. Nella barra dei menu, fai clic su + Crea spazio dei nomi.

  4. In Nome spazio dei nomi, inserisci un nome univoco per lo spazio dei nomi.

  5. Per Posizione, specifica facoltativamente un bucket Cloud Storage o un percorso da associare al tuo spazio dei nomi. La posizione corrisponde al bucket del magazzino.

  6. Fai clic su Crea.

    Lo spazio dei nomi viene creato e visualizzato nell'elenco dei dettagli del catalogo.

gcloud

Crea uno spazio dei nomi in un catalogo multi-bucket (bl://) (consigliato)

Per creare uno spazio dei nomi in un catalogo con più bucket (dove puoi specificare facoltativamente una posizione personalizzata), esegui il comando gcloud biglake iceberg namespaces create con il flag --properties:

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

Sostituisci quanto segue:

  • NAMESPACE_NAME: un nome per lo spazio dei nomi.
  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • CATALOG_ID: l'ID del catalogo.
  • LOCATION: (facoltativo) un bucket o un percorso Cloud Storage personalizzato da associare allo spazio dei nomi (ad esempio, gs://my-bucket/my-path).

Crea uno spazio dei nomi in un catalogo con un solo bucket (gs://)

Per creare uno spazio dei nomi in un catalogo con un solo bucket, ometti il flag --properties. La posizione dello spazio dei nomi viene ereditata automaticamente dal singolo bucket del catalogo.

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

REST

Per creare uno spazio dei nomi utilizzando l'API REST, invia una richiesta POST all'endpoint CreateIcebergNamespace:

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

Il corpo della richiesta deve contenere un payload JSON CreateNamespaceRequest Iceberg valido che definisce l'identificatore e le proprietà dello spazio dei nomi:

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

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto Google Cloud .
  • CATALOG_ID: l'ID del catalogo.
  • NAMESPACE_NAME: un nome per lo spazio dei nomi.
  • LOCATION: (Facoltativo) un bucket o un percorso Cloud Storage personalizzato da associare allo spazio dei nomi (ad esempio, gs://my-bucket/my-path).

Passaggi successivi