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.
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
-
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ãoserviceusage.services.enable. Saiba como conceder papéis.
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
- Leitor do BigLake (
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ãoiceberg-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
- Saiba como alterar uma tabela.