Crea y consulta una tabla de Iceberg en Lakehouse con la consola de Google Cloud
En esta guía de inicio rápido, usarás la Google Cloud consola para aprender cómo Lakehouse sin límites te permite administrar y compartir tablas de Apache Iceberg en Google Cloud y motores de código abierto almacenando metadatos de tablas, incluidos esquemas, instantáneas y ubicaciones de almacenamiento, en el catálogo del entorno de ejecución de Lakehouse.
Para completar esta guía de inicio rápido, sigue estos pasos en la consola deGoogle Cloud :
- Crea un bucket de Cloud Storage: Crea un bucket en Cloud Storage para almacenar los archivos de datos y metadatos de tu tabla de Iceberg.
- Crea un catálogo: Crea un catálogo de varios buckets en el catálogo de tiempo de ejecución de Lakehouse respaldado por tu bucket con la venta de credenciales habilitada.
- Crea un espacio de nombres y una tabla de Iceberg: Usa la página Lakehouse en la consola de Google Cloud para crear un espacio de nombres y una tabla de Iceberg con el lenguaje de manipulación de datos (DML) de BigQuery habilitado.
- Modifica los datos y consulta la tabla en BigQuery: Usa las sentencias DML de BigQuery (
INSERT,UPDATEyDELETE) para modificar las filas de la tabla de Iceberg y consultar los resultados con la sintaxis de 4 partes P.C.N.T (Project.Catalog.Namespace.Table), sin necesidad de ETL ni registro manual de la tabla.
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si es la primera vez que usas 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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Cloud Storage, and BigQuery APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Make sure that you have the following role or roles on the project: BigLake Admin (
roles/biglake.admin), Storage Admin (roles/storage.admin), and BigQuery Job User (roles/bigquery.jobUser)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Cloud Storage, and BigQuery APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Make sure that you have the following role or roles on the project: BigLake Admin (
roles/biglake.admin), Storage Admin (roles/storage.admin), and BigQuery Job User (roles/bigquery.jobUser)Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
Cree un bucket de Cloud Storage
Crea un bucket de Cloud Storage en la consola de Google Cloud para almacenar los archivos de datos y metadatos de tu tabla de Iceberg:
En la Google Cloud consola, ve a la página Buckets de Cloud Storage.
Haz clic en Crear.
En la sección Comenzar, ingresa un nombre de bucket único a nivel global (por ejemplo,
lakehouse-quickstart-UNIQUE_IDoPROJECT_ID-lakehouse) y, luego, haz clic en Continuar.En la sección Elige dónde almacenar tus datos, deja el Tipo de ubicación establecido en Multirregional (EE.UU. (varias regiones en Estados Unidos)) y, luego, haz clic en Crear.
Si aparece el diálogo Se impedirá el acceso público, haz clic en Confirmar.
Crea un catálogo en el catálogo de entorno de ejecución de Lakehouse
Crea un catálogo de varios bucket en el catálogo de Lakehouse Runtime para tus tablas de Apache Iceberg. Un catálogo de varios buckets te permite nombrar tu catálogo de forma independiente de cualquier nombre de bucket y asociar varios buckets de Cloud Storage con un solo catálogo. Para proteger el acceso a estos buckets, habilita el modo de venta de credenciales para que el catálogo pueda emitir automáticamente credenciales de almacenamiento temporales directamente a tus motores de cliente.
En la consola de Google Cloud , ve a la página Lakehouse.
Haz clic en Crear catálogo y selecciona Catálogo de entorno de ejecución de Lakehouse.
En la sección Detalles del catálogo, configura los siguientes parámetros:
- Catalog type: Selecciona Iceberg Rest Catalog.
- Opciones de bucket para el catálogo de Lakehouse: Selecciona Catálogo de varios buckets.
- Ruta de Cloud Storage del catálogo predeterminado: Haz clic en Explorar, selecciona el bucket que creaste y haz clic en Seleccionar.
- ID del catálogo: Ingresa
quickstart_catalog. - Ubicación principal: Selecciona Multirregión y, luego, EE.UU. (varias regiones en Estados Unidos).
Haz clic en Continuar y, luego, en la sección Rutas de datos, haz clic en Continuar.
En la sección Método de autenticación, selecciona Modo de venta de credenciales.
Con la venta de credenciales, el catálogo emite de forma segura tokens de almacenamiento temporales y con alcance de tabla para los motores cliente y BigQuery, de modo que los motores externos no necesitan permisos de IAM directos en tu bucket.
Haz clic en Crear.
Se creará tu catálogo y se abrirá la página Detalles del catálogo.
En Método de autenticación, haz clic en Establecer permisos del bucket y, luego, en el diálogo, haz clic en Confirmar.
En este paso, se otorgan a la cuenta de servicio del catálogo los permisos necesarios en tu bucket de Cloud Storage para vender credenciales temporales.
Crea un espacio de nombres y una tabla de Iceberg
Ahora que tienes un catálogo, usa la página Lakehouse en la consola deGoogle Cloud para crear un espacio de nombres y una tabla de Iceberg.
Crea un espacio de nombres
En la página Catalog Details de
quickstart_catalog, haz clic en Create namespace.En el campo Nombre del espacio de nombres, ingresa
quickstart_namespace.Deja Ubicación establecida en la ruta de acceso predeterminada de Cloud Storage que se completa automáticamente en el campo.
Haz clic en Crear.
Crea una tabla de Iceberg
En la página Detalles del catálogo, haz clic en
quickstart_namespace.Se abrirá la página Detalles del espacio de nombres.
Haz clic en Crear tabla.
En el panel Crear tabla, establece los siguientes parámetros:
- Formato de tabla: Verifica que esté seleccionada la opción Iceberg.
- Nombre de la tabla: Ingresa
quickstart_table. - Ubicación: Deja la ruta de acceso predeterminada de Cloud Storage.
En Esquema, haz clic en Agregar campo dos veces para agregar dos columnas a la tabla:
- En el primer campo, ingresa
iden el campo Nombre del campo y selecciona INTEGER en el menú Tipo. - En el segundo campo, ingresa
nameen el campo Nombre del campo y selecciona STRING en el menú Tipo.
- En el primer campo, ingresa
En Propiedades, busca la propiedad predefinida
gcp.biglake.bigquery-dml.enabledy cambia su Valor defalseatrue. Dejagcp.biglake.table-management.enabledestablecido enfalse.Si configuras
gcp.biglake.bigquery-dml.enabledcomotrue, puedes modificar los datos de la tabla de Iceberg con sentencias DML de BigQuery, comoINSERT,UPDATE,DELETEyMERGE. Para obtener más información, consulta Cómo configurar opciones de tablas.Haz clic en Crear.
Tu nueva tabla de Iceberg (
quickstart_table) aparece en la página Detalles del espacio de nombres, y el catálogo de entornos de ejecución de Lakehouse escribe el archivo de metadatos inicial de Iceberg en tu bucket de Cloud Storage.
Modifica los datos y consulta la tabla en BigQuery
Con quickstart_table creado y DML de BigQuery habilitado, puedes insertar, actualizar, borrar y consultar filas directamente en BigQuery con la sintaxis de 4 partes P.C.N.T (Project.Catalog.Namespace.Table). En cada instrucción, reemplaza PROJECT_ID por el ID de tu proyecto deGoogle Cloud :
En la consola de Google Cloud , ve a la página BigQuery.
En el editor de consultas, haz clic en Consulta en SQL.
Inserta tres filas de datos de muestra:
INSERT INTO `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` (id, name) VALUES (1, 'one'), (2, 'two'), (3, 'three');
Haz clic en Ejecutar. Cuando se completa la instrucción
INSERT, BigQuery escribe los archivos de datos de Parquet en tu bucket de Cloud Storage y confirma una nueva instantánea de Iceberg en el catálogo del entorno de ejecución de Lakehouse.Modifica una fila en la tabla:
UPDATE `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` SET name = 'updated' WHERE id = 1;
Haz clic en Ejecutar.
Borra una fila de la tabla:
DELETE FROM `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` WHERE id = 3;
Haz clic en Ejecutar.
Consulta la tabla para verificar los cambios:
SELECT * FROM `PROJECT_ID.quickstart_catalog.quickstart_namespace.quickstart_table` ORDER BY id;
Haz clic en Ejecutar. En el panel Resultados de la consulta, se muestran las dos filas restantes, incluido el valor actualizado de
id = 1:+----+---------+ | id | name | +----+---------+ | 1 | updated | | 2 | two | +----+---------+
Debido a que el catálogo del entorno de ejecución de Lakehouse administra los metadatos de Iceberg y la venta de credenciales está habilitada, también puedes leer o escribir en quickstart_table con cualquier motor de código abierto compatible con Iceberg, como Apache Spark, Trino o Apache Flink, sin otorgarles acceso directo de IAM a tu bucket.
Realiza una limpieza
Para evitar que se apliquen cargos innecesarios a tu cuenta de Google Cloud , borra los recursos que creaste en esta guía de inicio rápido. Borrar la tabla, el espacio de nombres y el catálogo quita el registro de metadatos del catálogo de entornos de ejecución de Lakehouse, mientras que borrar el bucket quita los datos de Parquet subyacentes y los archivos de metadatos de Iceberg almacenados en Cloud Storage:
En la consola de Google Cloud , ve a la página Lakehouse.
Borra la tabla de tu catálogo:
- Haz clic en
quickstart_catalogy, luego, enquickstart_namespace. - En la tabla Detalles del espacio de nombres, en la fila de
quickstart_table, haz clic en Más > Borrar. - Ingresa
DELETEpara confirmar y haz clic en Borrar.
- Haz clic en
Borra el espacio de nombres de tu catálogo:
- Regresa a la página Detalles del catálogo de
quickstart_catalog. - En la fila de
quickstart_namespace, haz clic en Más acciones del espacio de nombres > Borrar. - Ingresa
DELETEpara confirmar y haz clic en Borrar.
- Regresa a la página Detalles del catálogo de
Borra tu catálogo:
- Regresa a la página Lakehouse.
- En la fila de
quickstart_catalog, haz clic en Más acciones del catálogo > Borrar. - Ingresa
DELETEpara confirmar y haz clic en Borrar.
Borra el bucket de Cloud Storage y todo su contenido:
Ve a la página Buckets de Cloud Storage:
Selecciona la casilla de verificación junto al bucket que creaste para esta guía de inicio rápido y haz clic en Borrar.
Ingresa
DELETEpara confirmar y haz clic en Borrar.
¿Qué sigue?
- Prueba la guía de inicio rápido para crear y consultar una tabla de Iceberg con Google Cloud CLI.
- Aprende a modificar datos con sentencias DML de BigQuery y configurar opciones de tablas.
- Prueba el codelab para configurar el acceso a los datos multinube y consulta datos en Amazon Web Services (AWS), AlloyDB para PostgreSQL y Cloud Storage sin ETL.
- Obtén información sobre los catálogos de bucket buckets y el extremo del catálogo de REST de Apache Iceberg.
- Obtén más información para administrar catálogos en el catálogo de entorno de ejecución de Lakehouse.
- Obtén más información sobre las tablas de Apache Iceberg administradas por Lakehouse.