Consultar una tabla

Cuando se consulta una tabla, se leen los datos de los archivos subyacentes de Cloud Storage con los metadatos que administra el catálogo del entorno de ejecución de Lakehouse.

Puedes ejecutar consultas de selección desde motores de código abierto, como Spark y Trino, o directamente desde BigQuery con nombres de tabla de cuatro partes.

Antes de comenzar

Consulta la descripción general de la tabla para comprender los diferentes tipos de tablas y las implicaciones de usarlas.

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

  2. Habilita la API de BigLake.

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

    Habilitar la API

Roles obligatorios

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

  • Leer datos de tablas en modo de venta de credenciales: Visualizador de BigLake (roles/biglake.viewer) - el proyecto
  • Leer datos de tablas en modo de venta sin credenciales:
    • Visualizador de BigLake (roles/biglake.viewer) - el proyecto
    • Visualizador de objetos de Storage (roles/storage.objectViewer) - 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.

Consultar una tabla

Selecciona todos los datos de la tabla:

Spark

spark.sql("SELECT * FROM TABLE_NAME;").show()

Trino

SELECT * FROM TABLE_NAME;

BigQuery

Para consultar tablas de catálogo REST de Lakehouse Iceberg desde BigQuery, usa el nombre de tabla de cuatro partes en tu consulta con el siguiente formato: PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME.

SELECT * FROM `PROJECT_NAME.BIGLAKE_CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME`;

Reemplaza los siguientes valores:

  • PROJECT_NAME: el Google Cloud proyecto que posee el catálogo en el catálogo del entorno de ejecución de Lakehouse. El proyecto seleccionado en la consola se factura por la consulta. Google Cloud Google Cloud

  • CATALOG_ID: el ID del catálogo del entorno de ejecución de Lakehouse especificado cuando se creó el catálogo. Este identificador se usa como el nombre del catálogo en las consultas de BigQuery.

    Este identificador también es el nombre de tu bucket de Cloud Storage.

    Por ejemplo, si creaste tu bucket para almacenar tu catálogo y lo llamaste iceberg-bucket, tanto el nombre del catálogo como el del bucket son iceberg-bucket. Esto se usa más adelante cuando consultas tu catálogo en BigQuery con la sintaxis P.C.N.T. Por ejemplo, my-project.biglake_catalog_id.quickstart_namespace.quickstart_table.

  • NAMESPACE_OR_SCHEMA_NAME: el espacio de nombres de la tabla si usas Spark o el nombre del esquema de la tabla si usas Trino.

  • TABLE_NAME: el nombre de tu tabla.

¿Qué sigue?