Crear un espacio de nombres

Crear un espacio de nombres en un catálogo (como un catálogo de REST de Apache Iceberg o un catálogo de Apache Hive) te ayuda a organizar tus tablas en el catálogo de entorno de ejecución de Lakehouse.

Antes de comenzar

  1. Lee Acerca del catálogo de entorno de ejecución de Lakehouse para comprender cómo funciona el catálogo de entorno de ejecución de Lakehouse y las limitaciones del servicio.
  2. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

    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

Roles obligatorios

Para obtener los permisos que necesitas para crear un espacio de nombres, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Crea un espacio de nombres

Crea un espacio de nombres dentro de un catálogo.

Consideraciones

Cuando creas un espacio de nombres, puedes especificar de forma opcional un bucket de Cloud Storage o una ruta de acceso para asociar con el espacio de nombres:

  • Varios bucket (bl://) (recomendado): Puedes configurar cualquier ubicación personalizada, siempre que esté en una ubicación permitida por el catálogo (default_location o restricted_locations). Si no especificas una ubicación, el espacio de nombres se crea en la ubicación predeterminada del catálogo (por ejemplo, gs://{default_location}/{namespace_name}).
  • Un solo bucket (gs://): La ubicación del espacio de nombres se hereda automáticamente del bucket único del catálogo.

Console

  1. En el Google Cloud console, abre la página Lakehouse.

    Ir a Lakehouse

  2. Selecciona un catálogo existente o crea uno si no tienes.

  3. En la barra de menú, haz clic en + Crear espacio de nombres.

  4. En Nombre del espacio de nombres, ingresa un nombre único para tu espacio de nombres.

  5. En Ubicación, especifica de forma opcional un bucket de Cloud Storage o una ruta de acceso para asociar con tu espacio de nombres. La ubicación coincide con el bucket del almacén.

  6. Haz clic en Crear.

    Se crea tu espacio de nombres y aparece en la lista de detalles del catálogo.

gcloud

Crea un espacio de nombres en un catálogo de varios bucket (bl://) (recomendado)

Para crear un espacio de nombres en un catálogo de varios bucket (en el que puedes especificar de forma opcional una ubicación personalizada), ejecuta el gcloud biglake iceberg namespaces create comando con la marca --properties:

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

Reemplaza lo siguiente:

  • NAMESPACE_NAME: Es un nombre para tu espacio de nombres.
  • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  • CATALOG_ID: Es el ID de tu catálogo.
  • LOCATION: (Opcional) Es un bucket de Cloud Storage o una ruta de acceso personalizados para asociar con el espacio de nombres (por ejemplo, gs://my-bucket/my-path).

Crea un espacio de nombres en un catálogo de un solo bucket (gs://)

Para crear un espacio de nombres en un catálogo de un solo bucket, omite la marca --properties. La ubicación del espacio de nombres se hereda automáticamente del bucket único del catálogo.

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

REST

Para crear un espacio de nombres con la API de REST, realiza una solicitud POST al CreateIcebergNamespace extremo:

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

El cuerpo de la solicitud debe contener una carga útil JSON CreateNamespaceRequest de Iceberg válida que defina el identificador y las propiedades del espacio de nombres:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  • CATALOG_ID: Es el ID de tu catálogo.
  • NAMESPACE_NAME: Es un nombre para tu espacio de nombres.
  • LOCATION: (Opcional) Es un bucket de Cloud Storage o una ruta de acceso personalizados para asociar con el espacio de nombres (por ejemplo, gs://my-bucket/my-path).