Gerir dados de tabelas
Este documento descreve como gerir os dados das tabelas no BigQuery. Pode trabalhar com dados de tabelas do BigQuery das seguintes formas:
- Carregue dados numa tabela
- Anexe ou substitua dados de tabelas
- Explorar (ou pré-visualizar) dados de tabelas
- Consultar dados de tabelas
- Modifique os dados das tabelas através da linguagem de manipulação de dados (DML)
- Copie dados da tabela
- Exporte dados de tabelas
Para obter informações sobre a gestão de esquemas de tabelas, consulte o artigo Modificar esquemas de tabelas.
Antes de começar
Atribua funções que concedam as autorizações necessárias aos utilizadores que precisam de realizar cada tarefa neste documento. As autorizações necessárias (se aplicável) para realizar uma tarefa são apresentadas na secção "Autorizações necessárias" da tarefa.
Carregar dados numa tabela
Pode carregar dados quando cria uma tabela ou pode criar uma tabela vazia e carregar os dados mais tarde. Quando carrega dados, pode usar a deteção automática de esquemas para formatos de dados suportados ou pode especificar o esquema.
Para mais informações sobre o carregamento de dados, consulte a documentação sobre o formato e a localização dos dados de origem:
Para mais informações sobre o carregamento de dados a partir do Cloud Storage, consulte:
Para mais informações sobre o carregamento de dados a partir de uma origem local, consulte o artigo Carregar dados a partir de ficheiros locais.
Anexar e substituir dados de tabelas
Pode substituir os dados da tabela através de uma operação de carregamento ou consulta. Pode anexar dados adicionais a uma tabela existente executando uma operação de carregamento e anexação ou anexando os resultados da consulta à tabela.
Para mais informações sobre como anexar ou substituir uma tabela ao carregar dados, consulte a documentação do formato de dados de origem:
- Anexar ou substituir uma tabela com dados Avro
- Anexar ou substituir uma tabela com dados CSV
- Anexar ou substituir uma tabela com dados JSON
- Anexar ou substituir uma tabela com dados Parquet
- Anexar ou substituir uma tabela com dados ORC
- Anexar ou substituir uma tabela com dados do Datastore
Para acrescentar ou substituir uma tabela com os resultados da consulta, especifique uma tabela de destino e defina a disposição de escrita como:
- Anexar à tabela: anexa os resultados da consulta a uma tabela existente.
- Substituir tabela: substitui uma tabela existente com o mesmo nome usando os resultados da consulta.
Pode usar a seguinte consulta para anexar registos de uma tabela a outra:
INSERT INTO <projectID>.<datasetID>.<table1> ( <column2>, <column3>) (SELECT * FROM <projectID>.<datasetID>.<table2>)
Para mais informações sobre a utilização dos resultados da consulta para acrescentar ou substituir dados, consulte o artigo Escrever resultados da consulta.
Explorar dados de tabelas
Pode procurar ou ler dados de tabelas das seguintes formas:
- Usar a Trusted Cloud consola
- Usar o comando
bq head
da ferramenta de linhas de comando bq - Chamar o método da API
tabledata.list
- Usar as bibliotecas de cliente
Autorizações necessárias
Para ler dados de tabelas e partições, precisa da autorização de bigquery.tables.getData
Identity and Access Management (IAM).
Cada uma das seguintes funções de IAM predefinidas inclui as autorizações de que precisa para procurar dados de tabelas e partições:
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Se tiver a autorização bigquery.datasets.create
, pode procurar dados nas tabelas e nas partições dos conjuntos de dados que criar.
Para mais informações sobre as funções e as autorizações do IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.
Explorar dados de tabelas
Para procurar dados de tabelas:
Consola
Na Trusted Cloud consola, abra a página do BigQuery.
No painel Explorador, expanda o projeto e selecione um conjunto de dados.
Clique numa tabela na lista.
Clique em Detalhes e tome nota do valor em Número de linhas. Pode precisar deste valor para controlar o ponto de partida dos resultados através da ferramenta de linhas de comando bq ou da API.
Clique em Pré-visualizar. É apresentado um conjunto de dados de exemplo.
Linha de comandos
Emita o comando bq head
com a flag --max_rows
para listar todas as colunas num determinado número de linhas da tabela. Se --max_rows
não for especificado, o valor predefinido é 100.
Para procurar um subconjunto de colunas na tabela (incluindo colunas aninhadas e repetidas), use a flag --selected_fields
e introduza as colunas como uma lista separada por vírgulas.
Para especificar o número de linhas a ignorar antes de apresentar os dados da tabela, use a flag --start_row=integer
(ou o atalho -s
). O valor predefinido é 0
. Pode obter o número de linhas numa tabela através do comando bq show
para obter informações da tabela.
Se a tabela que está a explorar estiver num projeto diferente do projeto predefinido,
adicione o ID do projeto ao comando no seguinte formato:
project_id:dataset.table
.
bq head \ --max_rows integer1 \ --start_row integer2 \ --selected_fields "columns" \ project_id:dataset.table
Onde:
- integer1 é o número de linhas a apresentar.
- integer2 é o número de linhas a ignorar antes de apresentar os dados.
- columns é uma lista de colunas separadas por vírgulas.
- project_id é o ID do seu projeto.
- dataset é o nome do conjunto de dados que contém a tabela.
- table é o nome da tabela a explorar.
Exemplos:
Introduza o seguinte comando para apresentar uma lista de todas as colunas nas primeiras 10 linhas em mydataset.mytable
. mydataset
está no seu projeto predefinido.
bq head --max_rows=10 mydataset.mytable
Introduza o seguinte comando para apresentar uma lista de todas as colunas nas primeiras 100 linhas em
mydataset.mytable
. mydataset
está em myotherproject
e não no seu projeto
predefinido.
bq head myotherproject:mydataset.mytable
Introduza o seguinte comando para apresentar apenas field1
e field2
em
mydataset.mytable
. O comando usa a flag --start_row
para avançar para a linha 100.
mydataset.mytable
está no seu projeto predefinido.
bq head --start_row 100 --selected_fields "field1,field2" mydataset.mytable
Uma vez que o comando bq head
não cria uma tarefa de consulta, os comandos bq head
não aparecem no seu histórico de consultas e não lhe são cobrados.
API
Procure os dados de uma tabela chamando tabledata.list
.
Especifique o nome da tabela no parâmetro tableId
.
Configure estes parâmetros opcionais para controlar a saída:
maxResults
: número máximo de resultados a devolverselectedFields
— Lista de colunas separadas por vírgulas a devolver; se não for especificado, são devolvidas todas as colunasstartIndex
— Índice baseado em zero da linha inicial a ler
Os valores são devolvidos envolvidos num objeto JSON que tem de analisar, conforme descrito na documentação de referência tabledata.list
.
C#
Antes de experimentar este exemplo, siga as C#instruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API C# BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Go
Antes de experimentar este exemplo, siga as Goinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Go BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
As bibliotecas cliente da nuvem para Go fazem a paginação automaticamente por predefinição, pelo que não precisa de implementar a paginação manualmente. Por exemplo:
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Node.js BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
As bibliotecas cliente da nuvem para Node.js fazem a paginação automaticamente por predefinição, pelo que não precisa de implementar a paginação manualmente. Por exemplo:
PHP
Antes de experimentar este exemplo, siga as PHPinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API PHP BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
A paginação ocorre automaticamente nas bibliotecas de cliente da nuvem para PHP
através da função do gerador rows
, que obtém a página seguinte de
resultados durante a iteração.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
Ruby
Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Ruby BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN
environment
como s3nsapis.fr
.
A paginação ocorre automaticamente nas bibliotecas de cliente da nuvem para Ruby
através de Table#data
e Data#next
.
Consultar dados de tabelas
Pode consultar dados do BigQuery usando um dos seguintes tipos de tarefas de consulta:
Tarefas de consulta interativas. Por predefinição, o BigQuery executa consultas como tarefas de consulta interativas, que se destinam a começar a ser executadas o mais rapidamente possível.
Tarefas de consulta em lote. As consultas em lote têm uma prioridade inferior à das consultas interativas. Quando um projeto ou uma reserva usa todos os recursos de computação disponíveis, é mais provável que as consultas em lote sejam colocadas em fila e permaneçam na fila. Depois de uma consulta em lote começar a ser executada, esta é executada da mesma forma que uma consulta interativa. Para mais informações, consulte filas de consultas.
Tarefas de consulta contínuas. Com estes trabalhos, a consulta é executada continuamente, o que lhe permite analisar os dados recebidos no BigQuery em tempo real e, em seguida, escrever os resultados numa tabela do BigQuery ou exportá-los para o Bigtable ou o Pub/Sub. Pode usar esta capacidade para realizar tarefas sensíveis ao tempo, como criar e agir imediatamente com base em estatísticas, aplicar inferência de aprendizagem automática (AA) em tempo real e criar pipelines de dados orientados por eventos.
Pode executar tarefas de consulta através dos seguintes métodos:
- Componha e execute uma consulta na Trusted Cloud consola.
- Execute o comando
bq query
na ferramenta de linhas de comando bq. - Chame programaticamente o método
jobs.query
oujobs.insert
na API REST do BigQuery. - Use as bibliotecas cliente do BigQuery.
Para mais informações sobre como consultar tabelas do BigQuery, consulte o artigo Introdução à consulta de dados do BigQuery.
Além de consultar dados armazenados em tabelas do BigQuery, pode consultar dados armazenados externamente. Para mais informações, consulte o artigo Introdução a origens de dados externas.
Modificar dados da tabela
Pode modificar dados numa tabela através de declarações de linguagem de manipulação de dados (DML) em SQL. As instruções DML permitem-lhe atualizar, unir, inserir e eliminar linhas em tabelas. Para ver exemplos e referências de sintaxe de cada tipo de declaração DML, consulte o artigo Declarações de linguagem de manipulação de dados no GoogleSQL.
O dialeto SQL antigo não suporta declarações DML. Para atualizar ou eliminar dados com o SQL antigo, tem de eliminar a tabela e, em seguida, recriá-la com novos dados. Em alternativa, pode escrever uma consulta que modifique os dados e escrever os resultados da consulta numa nova tabela de destino.
Copiar dados da tabela
Pode copiar uma tabela:
- Usar a Trusted Cloud consola
- Usar o comando
bq cp
da ferramenta de linhas de comando bq - Chamar o método da API
jobs.insert
e configurar uma tarefa de cópia - Usar as bibliotecas de cliente
Para mais informações sobre como copiar tabelas, consulte o artigo Copiar uma tabela.
Exportar dados de tabelas
Pode exportar dados de tabelas para um contentor do Cloud Storage no formato CSV, JSON, Avro ou Parquet (pré-visualização). A exportação para o seu computador local não é suportada. No entanto, pode transferir e guardar os resultados da consulta através da Trusted Cloud consola.
Para mais informações, consulte o artigo Exportar dados de tabelas.
Segurança da mesa
Para controlar o acesso a tabelas no BigQuery, consulte o artigo Controle o acesso a recursos com a IAM.
O que se segue?
- Para mais informações sobre o carregamento de dados, consulte o artigo Introdução ao carregamento de dados.
- Para mais informações sobre a consulta de dados, consulte o artigo Introdução à consulta de dados do BigQuery.
- Para mais informações sobre a modificação de esquemas de tabelas, consulte o artigo Modificar esquemas de tabelas.
- Para mais informações sobre como criar e usar tabelas, consulte o artigo Criar e usar tabelas.
- Para mais informações sobre a gestão de tabelas, consulte o artigo Gerir tabelas.