Consultar uma tabela

A consulta de uma tabela lê dados dos arquivos do Cloud Storage usando os metadados gerenciados pelo catálogo de tempo de execução do Lakehouse.

É possível executar consultas de seleção de mecanismos de código aberto, como Spark e Trino, ou diretamente do BigQuery usando a nomenclatura de tabela de quatro partes.

Antes de começar

Consulte a visão geral da tabela para entender os diferentes tipos de tabelas e as implicações do uso delas.

  1. Verifique se o faturamento está ativado para o projeto do Google Cloud .

  2. Ative a API BigLake.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

Funções exigidas

Para ter as permissões necessárias para consultar uma tabela, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto e no bucket de armazenamento:

  • Ler dados da tabela no modo de venda de credenciais: Leitor do BigLake (roles/biglake.viewer): o projeto
  • Ler dados da tabela no modo sem fornecimento de credenciais:
    • Leitor do BigLake (roles/biglake.viewer): o projeto
    • Leitor de objetos do Storage (roles/storage.objectViewer): o bucket do Cloud Storage

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Consultar uma tabela

Selecione todos os dados da tabela:

Spark

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

Trino

SELECT * FROM TABLE_NAME;

BigQuery

Para consultar tabelas do catálogo REST do Lakehouse Iceberg no BigQuery, use o nome de tabela de quatro partes na consulta com o seguinte formato: PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME.

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

Substitua os seguintes valores:

  • PROJECT_NAME: o projetoGoogle Cloud que é proprietário do catálogo no catálogo de tempo de execução do Lakehouse. O projeto Google Cloud selecionado no console Google Cloud é cobrado pela consulta.

  • CATALOG_ID: o ID do catálogo do ambiente de execução do Lakehouse especificado quando o catálogo foi criado. Esse identificador é usado como o nome do catálogo em consultas do BigQuery.

    Esse identificador também é o nome do bucket do Cloud Storage.

    Por exemplo, se você criou um bucket para armazenar seu catálogo e o nomeou iceberg-bucket, tanto o nome do catálogo quanto o do bucket serão iceberg-bucket. Isso será usado mais tarde quando você consultar seu catálogo no BigQuery, usando a sintaxe P.C.N.T. Por exemplo, my-project.biglake_catalog_id.quickstart_namespace.quickstart_table.

  • NAMESPACE_OR_SCHEMA_NAME: o namespace da tabela, se você estiver usando o Spark, ou o nome do esquema da tabela, se estiver usando o Trino.

  • TABLE_NAME: o nome da tabela.

A seguir