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
- 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.
- 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 theresourcemanager.projects.createpermission. Learn how to grant roles. - 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
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
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.
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
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.
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:
-
Todos:
- Administrador de BigLake (
roles/biglake.admin) - Administrador de almacenamiento (
roles/storage.admin)
- Administrador de BigLake (
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_locationorestricted_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
En el Google Cloud console, abre la página Lakehouse.
Selecciona un catálogo existente o crea uno si no tienes.
En la barra de menú, haz clic en + Crear espacio de nombres.
En Nombre del espacio de nombres, ingresa un nombre único para tu espacio de nombres.
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.
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).