Actualiza las tablas de Iceberg V1 a V2

Si tienes tablas de Apache Iceberg existentes de la versión 1 (V1), debes actualizarlas con tu motor de consultas antes de usarlas con el extremo del catálogo REST de Apache Iceberg. Para obtener más información, consulta Cómo modificar una tabla.

Antes de comenzar

  1. Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .

  2. Habilita la API de BigLake si aún no lo hiciste.

    Roles necesarios para habilitar las APIs

    Para habilitar APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.

    Habilitar la API

  3. Configura el catálogo de entornos de ejecución de Lakehouse con el extremo del catálogo de REST de Apache Iceberg.

Roles obligatorios

Para obtener los permisos que necesitas para actualizar una tabla, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto y bucket de almacenamiento:

  • Actualiza la tabla en el modo de venta de credenciales: Editor de BigLake (roles/biglake.editor): El proyecto
  • Tabla de actualización en el modo de venta sin credenciales:
    • Editor de BigLake (roles/biglake.editor): El proyecto
    • Usuario de objetos de almacenamiento (roles/storage.objectUser): El bucket de Cloud Storage

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.

Actualiza una tabla

Para actualizar una tabla de Iceberg V1 a V2, ejecuta el siguiente comando en tu motor de consultas:

Spark

ALTER TABLE CATALOG_NAME.SCHEMA_NAME.TABLE_NAME SET TBLPROPERTIES ('format-version'='2');

Reemplaza lo siguiente:

  • CATALOG_NAME: Es el nombre de tu catálogo.
  • SCHEMA_NAME: Es el nombre de tu esquema.
  • TABLE_NAME: Es el nombre de tu tabla.

¿Qué sigue?