El catálogo de tiempo de ejecución de Lakehouse te permite modificar las propiedades de los extremos de catálogo existentes en Lakehouse sin límites.
Para los extremos del catálogo de REST de Apache Iceberg, puedes actualizar el modo de credenciales, la ubicación predeterminada del almacén y el tipo de catálogo. Por ejemplo, puedes actualizar un catálogo de un solo bucket a un catálogo de varios buckets (recomendado) para que tu catálogo pueda abarcar varios buckets de almacenamiento.
Antes de comenzar
- Lee Acerca del catálogo de entorno de ejecución de Lakehouse para comprender cómo funciona 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, if it is not already enabled.
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.
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, if it is not already enabled.
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.
Roles obligatorios
Para obtener los permisos que necesitas para actualizar un catálogo, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Todos:
- Administrador de BigLake (
roles/biglake.admin) en tu proyecto - Administrador de almacenamiento (
roles/storage.admin) en tu proyecto
- 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.
Actualizar un catálogo
Puedes actualizar un catálogo con la consola de Google Cloud , gcloudo la
API de REST.
Console
En la consola de Google Cloud , abre la página Lakehouse.
En la fila del catálogo que deseas actualizar, haz clic en Más acciones del catálogo > Editar.
En Configuración del catálogo, modifica los parámetros de configuración que quieras actualizar.
Selecciona Guardar.
gcloud
Opción 1: Actualiza las propiedades del catálogo
Para actualizar las propiedades del catálogo (como la descripción o las ubicaciones restringidas),
ejecuta el comando gcloud biglake iceberg catalogs update:
gcloud biglake iceberg catalogs update CATALOG_ID \ --project="PROJECT_ID" \ [--description="DESCRIPTION"] \ [--credential-mode="CREDENTIAL_MODE"] \ [--restricted-locations="RESTRICTED_LOCATIONS"]
Reemplaza lo siguiente:
CATALOG_ID: Es el ID de tu catálogo de tiempo de ejecución de Lakehouse.PROJECT_ID: Es el ID del proyecto de Google Cloud .DESCRIPTION: (Opcional) Es una descripción para el catálogo.CREDENTIAL_MODE: Es el método de autenticación (opcional). Usaend-userpara las credenciales de usuario final ovended-credentialspara el modo de venta de credenciales.RESTRICTED_LOCATIONS: (Opcional) Es una lista separada por comas de buckets o rutas de acceso de almacenamiento adicionales permitidos. Precaución: Si especificas varias rutas de acceso o buckets superpuestos, esto puede provocar conflictos de metadatos, reemplazos accidentales de datos o problemas de seguridad, como filtraciones de permisos.
Opción 2: Actualiza un catálogo de un solo bucket a un catálogo de varios buckets (recomendado)
Para actualizar un catálogo de un solo bucket existente a un
catálogo de varios buckets (recomendado), ejecuta el comando gcloud biglake iceberg catalogs update
y establece el parámetro --catalog-type en biglake:
gcloud biglake iceberg catalogs update CATALOG_ID \ --project="PROJECT_ID" \ --catalog-type="biglake"
REST
Opción 1: Actualiza las propiedades del catálogo
Para modificar las propiedades de un catálogo (como su descripción) con la API de REST, realiza una solicitud PATCH
al extremo UpdateIcebergCatalog con el updateMask adecuado:
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.description
El cuerpo de la solicitud debe contener una carga útil de JSON IcebergCatalog con los campos que se actualizarán:
{
"description": "Updated catalog description"
}
Opción 2: Actualiza un catálogo de un solo bucket a un catálogo de varios buckets (recomendado)
Para actualizar su tipo con la API de REST, realiza una solicitud PATCH
al extremo UpdateIcebergCatalog con el catalogType en el updateMask:
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.catalogType
El cuerpo de la solicitud debe contener una carga útil de JSON IcebergCatalog con el nuevo tipo de catálogo:
{
"catalogType": "BIGLAKE"
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .CATALOG_ID: Es el ID de tu catálogo de tiempo de ejecución de Lakehouse.
Nota: Después de actualizar a un catálogo de varios bucket, actualiza las configuraciones del motor de consultas del cliente (como Spark o Trino) para especificar la ruta de acceso del almacén con el formato bl://: bl://projects/PROJECT_ID/catalogs/CATALOG_ID.