Descripción general
Consulta tablas de Iceberg en Cloud Storage con BigQuery En este lab, explorarás cómo las tablas de BigLake de BigQuery pueden consultar datos en formatos de código abierto directamente en Cloud Storage. Aprenderás a crear una tabla de BigLake que haga referencia a una tabla de Iceberg existente, lo que te permitirá analizar datos sin moverlos ni duplicarlos. Con esta potente función, podrás mantener una fuente única de información en un formato abierto mientras aprovechas el motor de análisis de alto rendimiento de BigQuery. Esta experiencia práctica es crucial para el data lakehouse moderno, en el que puedes unificar tus datos independientemente de su formato o ubicación.
Comenzarás por crear una conexión que le permita a BigQuery acceder de forma segura a los datos en Cloud Storage. Luego, definirás una tabla de BigLake sobre una tabla de Iceberg de muestra que contiene datos de registro web sin procesar. Iceberg es un formato de tabla abierto diseñado para conjuntos de datos analíticos enormes y se suele utilizar con motores de procesamiento como Apache Spark.
Por último, ejecutarás una consulta que une fácilmente los datos de Iceberg en Cloud Storage con una tabla nativa de BigQuery que contiene información de los clientes. Si domina estas técnicas, Cymbal E-commerce podrá responder preguntas empresariales importantes que abarcan diferentes fuentes de datos. Por ejemplo: "¿Qué productos ven con más frecuencia nuestros clientes de mayor valor justo antes de realizar una compra?".
Actividades
- Crear una tabla de Iceberg a partir de un archivo CSV en Cloud Storage con BigQuery y BigLake
- Consultar la tabla de Iceberg para analizar los datos almacenados en Cloud Storage
- Unir la tabla de BigLake con una tabla nativa de BigQuery para combinar conjuntos de datos
- Crear una conexión de un recurso de Cloud a Cloud Storage
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que usarás para acceder a Google Cloud durante todo el lab.
Qué necesitas
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
- Tiempo para completar el lab
Nota: Si tienes un proyecto o una Cuenta de Google Cloud personal, no los uses en este lab.
Nota: Si utilizas una Pixelbook, abre una ventana de incógnito para ejecutar este lab.
Accede a la consola de Google Cloud
- En la pestaña o ventana del navegador que estás usando para esta sesión del lab, copia el Nombre de usuario del panel Detalles de la conexión y haz clic en el botón Abrir la consola de Google.
Nota: Si se te solicita que elijas una cuenta, haz clic en Usar otra cuenta.
- Cuando se te solicite, pega el nombre de usuario y, luego, la contraseña.
- Haz clic en Siguiente.
- Acepta los Términos y Condiciones.
Dado que esta es una cuenta temporal que tendrá la misma duración del lab, sigue estas recomendaciones:
- No agregues opciones de recuperación.
- No te registres para las pruebas gratuitas.
- Cuando se abra la consola, podrás ver la lista de servicios haciendo clic en el Menú de navegación (
) en la esquina superior izquierda.

Verifica o habilita las APIs necesarias
-
En la consola de Google Cloud, ingresa API de BigLake en la barra de búsqueda superior.
-
Haz clic en el resultado de API de BigLake de Marketplace.
-
Si la API no está habilitada todavía, haz clic en Habilitar.
Verifica los permisos de IAM
-
En el menú de navegación, selecciona IAM y administración y, en el submenú desplegable, selecciona IAM.
-
Busca tu entrada, que será similar a student-xx-xxxxxxxxxxxx@qwiklabs.net.
-
Verifica que tengas los roles Administrador de conexión de BigQuery y Usuario de conexión de BigQuery.
Tarea 1: Crea una conexión a Cloud Storage
En esta tarea, crearás una nueva conexión a Cloud Storage para que BigQuery la use para leer los datos de un archivo CSV en Cloud Storage como tabla externa.
Crea la conexión
-
En el menú de navegación (
) de la consola de Google Cloud, busca BigQuery > Studio.
-
En el panel superior izquierdo, haz clic en Explorador y, luego, en + Agregar datos.
-
En Tipo de fuente de datos, selecciona Almacenamiento/data lakes.
-
En Fuentes de datos más populares, haz clic en la tarjeta de Google Cloud Storage.
-
En la selección de tarjetas resultante de Accede a los datos externos implementados, haz clic en Tabla externa o de BigLake.
-
En la pantalla Crear tabla, usa los siguientes valores:
| Propiedad |
Valor |
| Crear tabla desde |
Google Cloud Storage |
| Selecciona un archivo del bucket de GCS o usa un patrón de URI |
cloud-training/OCBL462/cymbal_synthetic_weblog_data.csv |
| Formato de archivo |
CSV |
| Partición de datos de origen |
Dejar desmarcado |
| Proyecto |
{{{project_0.project_id | Project ID}}} |
| Conjunto de datos |
Haz clic en Conjunto de datos y, en Conjuntos de datos subidos, selecciona cymbal_lake |
| Tabla |
web_log |
| Tipo de tabla |
Tabla externa |
| Crear una tabla de BigLake usando una conexión de Cloud Resource |
Marca la casilla de este elemento |
| Haz clic en el menú desplegable ID de conexión y selecciona Crear una nueva conexión de Cloud Resource
|
| Tipo de conexión |
Modelos remotos de Vertex AI, funciones remotas, y BigLake y Spanner (Cloud Resource) |
| ID de conexión |
gcs-bucket-{{{project_0.project_id | Project ID}}}_eds |
| Tipo de ubicación |
Región |
| Región |
{{{project_0.default_region | Region}}} |
| Nombre descriptivo |
Deja esta opción en blanco |
| Descripción |
Deja esta opción en blanco |
| Haz clic en Crear conexión
|
|
| Esquema: detección automática |
Marca la casilla de este elemento |
- Deja todo lo demás en los valores predeterminados y haz clic en Crear tabla
Para verificar este objetivo, haz clic en Revisar mi progreso.
Crear una conexión a Cloud Storage
Tarea 2: Crea y carga la tabla de Iceberg en Cloud Storage con BigQuery
En esta tarea, transferirás los datos de la tabla externa que acabas de crear y los cargarás en formato Iceberg en un bucket de Cloud Storage.
-
En el menú de navegación (
) de la consola de Google Cloud, busca BigQuery > Studio.
-
Si aún no está abierto, haz clic en Explorador clásico y expande tu proyecto. Será similar a qwiklabs-gcp-xx-xxxxxxxxxxxx.
-
Expande la entrada de cymbal_lake.
-
Haz clic en los tres puntos verticales a la derecha de la entrada de web_log. Selecciona Consulta en el menú emergente.
-
Cierra el panel de referencia haciendo clic en la X de la esquina superior derecha.
-
Reemplaza la consulta en SQL por el siguiente código:
CREATE TABLE cymbal_lake.iceberg_web_log
WITH CONNECTION `projects/{{{project_0.project_id | Project ID}}}/locations/{{{project_0.default_region | Region}}}/connections/gcs-bucket-{{{project_0.project_id | Project ID}}}_eds`
OPTIONS (
table_format = 'ICEBERG',
storage_uri = 'gs://gcs-bucket-{{{project_0.project_id | Project ID}}}') AS
SELECT * FROM `cymbal_lake.web_log`;
-
Haz clic en el botón Ejecutar. Después del procesamiento, recibirás un mensaje de error. No lo cierres, ya que necesitas el ID de la cuenta de servicio de BigQuery para establecer el permiso adecuado. El mensaje de error será similar a este ejemplo:
Access Denied: BigQuery BigQuery: Permission denied while writing data. bqcx-542604010272-n24h@gcp-sa-bigquery-condel.iam.gserviceaccount.com does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist). Please make sure gs://gcs-bucket-qwiklabs-gcp-00-333263c4c0ba/data/46d259a5-5da4-4e66-afa8-ae849d1bef50-17da16d07142b039-f-00000-of-00001.parquet is accessible via appropriate IAM roles, e.g. Storage Object Viewer or Storage Object Creator
-
Copia el ID de usuario del mensaje de error. Tendrá el siguiente formato: bqcx-xxxxxxxxxxxx-xxxx@gcp-sa-bigquery-condel.iam.gserviceaccount.com
-
En el menú de navegación (
) de la consola de Google Cloud, busca Cloud Storage > Buckets.
-
Haz clic en los 3 puntos verticales en el extremo derecho de la fila con tu bucket gcs-bucket- y selecciona Editar acceso.
-
En el cuadro Control de acceso, haz clic en el vínculo Cambiar a permisos uniformes.
-
En la ventana emergente, selecciona Uniforme. Haz clic en Guardar.
-
Haz clic en + Agregar entidad.
-
En Nueva entidad, pega el ID de usuario que copiaste del mensaje de error de BigQuery.
-
Haz clic en Seleccionar un rol *
-
En Filtro, ingresa Usuario de objetos de almacenamiento y selecciona Usuario de objetos de almacenamiento de la lista resultante. Luego, haz clic en Guardar.
-
Regresa a BigQuery y vuelve a ejecutar la consulta de creación de tablas repitiendo el paso 6 de la tarea 2.
Para verificar este objetivo, haz clic en Revisar mi progreso.
Crear y cargar la tabla de Iceberg en Cloud Storage con BigQuery
Tarea 3: Consulta la tabla de Iceberg desde BigQuery
Ahora trabajarás con BigQuery para acceder a los datos de la tabla de Iceberg que acabas de crear en Cloud Storage.
-
En el menú de navegación (
) de la consola de Google Cloud, busca BigQuery > Studio.
-
Si aún no está abierto, expande la entrada en Explorador clásico de tu proyecto. Se verá como qwiklabs-gcp-xx-xxxxxxxxxxxx.
-
Expande la entrada de cymbal_lake.
-
Haz clic en los tres puntos verticales a la derecha de la entrada de iceberg_web_log. Selecciona Consulta en el menú emergente.
-
Cierra el panel de referencia haciendo clic en la X de la esquina superior derecha.
-
Reemplaza la consulta en SQL por el siguiente código:
SELECT * FROM cymbal_lake.iceberg_web_log LIMIT 1000;
-
Haz clic en el botón Ejecutar. Los datos devueltos son de tu tabla de Iceberg en Cloud Storage.
-
Reemplaza la consulta en SQL por el siguiente código:
SELECT * FROM cymbal_lake.iceberg_web_log AS WL
INNER JOIN customers.customer_details AS CD
ON WL.customer_id = CD.id
LIMIT 1000;
-
Haz clic en el botón Ejecutar. Los datos devueltos son de tu tabla de Iceberg en Cloud Storage unidos a los datos de los clientes en una tabla nativa de BigQuery.
Para verificar este objetivo, haz clic en Revisar mi progreso.
Consultar la tabla de Iceberg desde BigQuery
¡Felicitaciones!
Configuraste una tabla externa en BigQuery para acceder a los datos de un archivo CSV en Cloud Storage. Luego, creaste una tabla Iceberg en Cloud Storage y la completaste con datos del archivo CSV usando BigQuery. Por último, ejecutaste una consulta que combinó datos de la tabla de Iceberg con datos de una tabla nativa de BigQuery. Si bien este fue un ejemplo sencillo, demuestra el poder y la flexibilidad que proporciona el lakehouse de BigQuery y BigLake de Cymbal para convertir los datos en una potente herramienta empresarial.