Neste documento, você verá como gerenciar tabelas no BigQuery das seguintes maneiras:
- Atualizar os seguintes itens de uma tabela:
- Prazo de validade
- Descrição
- definição do esquema
- Marcadores
- Renomear (copiar) uma tabela
- Copiar uma tabela
- Excluir uma tabela
- Restaurar uma tabela excluída
Para mais detalhes sobre como criar e usar tabelas, consulte Como criar e usar tabelas. A página explica como receber informações sobre tabelas, como listá-las e controlar o acesso aos dados delas.
Como atualizar propriedades da tabela
É possível atualizar os seguintes elementos de uma tabela:
Permissões necessárias
Para atualizar uma tabela, você precisa ter pelo menos as permissões bigquery.tables.update
e bigquery.tables.get
. Os papéis predefinidos do IAM a seguir incluem as permissões bigquery.tables.update
e bigquery.tables.get
:
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Além disso, quando um usuário tem permissões bigquery.datasets.create
e cria um conjunto de dados, ele recebe o acesso bigquery.dataOwner
ao conjunto.
Com o acesso de bigquery.dataOwner
, os usuários conseguem atualizar as propriedades de tabela dos conjuntos de dados criados por eles.
Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Como atualizar a descrição de uma tabela
É possível atualizar a descrição de um conjunto de dados das seguintes maneiras:
- Como usar o Console do Cloud.
- Como usar uma instrução DDL
ALTER TABLE
. - usando o comando
bq
da ferramenta de linha de comandobq update
; - Chamada do método de API
tables.patch
- Como usar bibliotecas de cliente.
Para atualizar a descrição de uma tabela:
Console
Não é possível adicionar uma descrição durante a criação de uma tabela no Console do Cloud. No entanto, depois de criá-la, é possível adicionar a descrição na página Detalhes.
No painel Explorer, expanda o projeto e o conjunto de dados e selecione a tabela.
No painel de detalhes, clique em Detalhes.
Na seção Descrição, clique no ícone de lápis para editar a descrição.
Insira uma descrição na caixa e clique em Atualizar para salvar.
SQL
Com as instruções de linguagem de definição de dados (DDL), é possível criar e modificar tabelas e visualizações usando a sintaxe de consulta do SQL padrão.
Saiba mais sobre Como usar as instruções da linguagem de definição de dados.
Para atualizar a descrição da tabela por meio de uma instrução DDL no Console do Cloud:
Clique em Escrever nova consulta.
Digite a instrução DDL na área de texto do Editor de consultas.
ALTER TABLE mydataset.mytable SET OPTIONS ( description="Description of mytable" )
Clique em Executar.
bq
Use o comando bq update
com a sinalização --description
. Se você estiver atualizando uma tabela em um projeto diferente do padrão, adicione o ID do projeto ao nome do conjunto de dados no seguinte formato: project_id:dataset
.
bq update \ --description "description" \ project_id:dataset.table
Substitua:
description
: o texto que descreve a tabela entre aspas.project_id
: ID do projetodataset
: o nome do conjunto de dados com a tabela que você está atualizando.table
: o nome da tabela que você está atualizando.
Por exemplo:
Digite o seguinte comando para alterar a descrição de mytable
em mydataset
para "Descrição do mytable". mydataset
está no projeto padrão.
bq update --description "Description of mytable" mydataset.mytable
Digite o seguinte comando para alterar a descrição de mytable
em mydataset
para "Descrição do mytable". mydataset
está em myotherproject
, e não no projeto padrão.
bq update \
--description "Description of mytable" \
myotherproject:mydataset.mytable
API
Chame o método tables.patch
e use a propriedade description
no recurso da tabela para atualizar a descrição da tabela. Como o método tables.update
substitui todo o recurso da tabela, é melhor usar o método tables.patch
.
Go
Antes de testar essa amostra, siga as instruções de configuração para Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Go.
Java
Antes de testar essa amostra, siga as instruções de configuração para Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Python
Antes de testar essa amostra, siga as instruções de configuração para Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.
Configure a propriedade Table.description e chame Client.update_table() para enviar a atualização à API.
Como atualizar o prazo de validade da tabela
É possível configurar o prazo de validade padrão da tabela no nível do conjunto de dados ou defini-lo quando a tabela for criada. Muitas vezes, ele é mencionado como "tempo de vida" ou TTL, na sigla em inglês.
Se você fizer isso durante a criação da tabela, a expiração padrão da tabela do conjunto de dados será ignorada. Se você não a configurar no nível do conjunto de dados e não defini-la quando a tabela for criada, a tabela nunca vai expirar, e você precisará excluí-la manualmente.
A qualquer momento após a criação da tabela, é possível atualizar o prazo de validade dela das seguintes maneiras:
- Como usar o Console do Cloud.
- Como usar uma instrução DDL
ALTER TABLE
. - usando o comando
bq
da ferramenta de linha de comandobq update
; - Chamada do método de API
tables.patch
- Como usar bibliotecas de cliente.
Para atualizar o prazo de validade de uma tabela:
Console
Não é possível adicionar um prazo de validade durante a criação de uma tabela no Console do Cloud. No entanto, depois de criá-la, é possível adicionar ou atualizar a validade da tabela na página Detalhes da tabela.
No painel Explorer, expanda o projeto e o conjunto de dados e selecione a tabela.
No painel de detalhes, clique em Detalhes.
Clique no ícone de lápis ao lado de Informações da tabela.
Em Validade da tabela, selecione Especificar data. Em seguida, selecione a data de validade usando o widget de calendário.
Clique em Atualizar para salvar. O prazo de validade atualizado é exibido na seção Informações da tabela.
SQL
Com as instruções de linguagem de definição de dados (DDL), é possível criar e modificar tabelas e visualizações usando a sintaxe de consulta do SQL padrão.
Saiba mais sobre Como usar as instruções da linguagem de definição de dados.
Para atualizar o prazo de validade por meio de uma instrução DDL no Console do Cloud:
Clique em Escrever nova consulta.
Digite a instrução DDL na área de texto do Editor de consultas.
ALTER TABLE mydataset.mytable SET OPTIONS ( -- Sets table expiration to timestamp 2025-02-03 12:34:56 expiration_timestamp=TIMESTAMP "2025-02-03 12:34:56" )
Clique em Executar.
bq
Use o comando bq update
com a sinalização --expiration
. Se você estiver atualizando uma tabela em um projeto diferente do padrão, adicione o ID do projeto ao nome do conjunto de dados no seguinte formato: project_id:dataset
.
bq update \
--expiration integer \
project_id:dataset.table
Substitua:
integer
: a vida útil padrão (em segundos) da tabela. O valor mínimo é de 3.600 segundos (uma hora). O tempo de expiração é avaliado para a hora atual mais o valor inteiro. Se você especificar como0
, a validade da tabela será removida e ela nunca irá expirar. Tabelas sem prazo de validade precisam ser excluídas manualmente.project_id
: o ID do projeto.dataset
: o nome do conjunto de dados com a tabela que você está atualizando.table
: o nome da tabela que você está atualizando.
Por exemplo:
Insira o seguinte comando para atualizar o prazo de validade de mytable
em mydataset
para 5 dias (432.000 segundos). mydataset
está em seu projeto padrão.
bq update --expiration 432000 mydataset.mytable
Insira o seguinte comando para atualizar o prazo de validade de mytable
em mydataset
para 5 dias (432.000 segundos). mydataset
está em myotherproject
, e não no projeto padrão.
bq update --expiration 432000 myotherproject:mydataset.mytable
API
Chame o método tables.patch
e use a propriedade expirationTime
no recurso da tabela para atualizar a validade da tabela em milissegundos. Como o método tables.update
substitui todo o recurso da tabela, é melhor usar o método tables.patch
.
Go
Antes de testar essa amostra, siga as instruções de configuração para Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Go.
Java
Antes de testar essa amostra, siga as instruções de configuração para Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Python
Antes de testar essa amostra, siga as instruções de configuração para Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.
Configure a propriedade Table.expires e chame Client.update_table() para enviar a atualização à API.
Como atualizar a definição de esquema de uma tabela
Para mais informações sobre como atualizar a definição de esquema de uma tabela, consulte Como modificar esquemas de tabelas.
Como renomear uma tabela
No momento, não é possível alterar o nome de uma tabela existente. Porém, caso seja necessário, siga as etapas para copiar a tabela. Ao especificar a tabela de destino na operação de cópia, use o novo nome da tabela.
Como copiar uma tabela
É possível copiar uma tabela das seguintes maneiras:
- Como usar o Console do Cloud.
- usando o comando
bq
da ferramenta de linha de comandobq cp
; - Como fazer uma chamada do método de API jobs.insert e configurando um job
copy
. - Como usar bibliotecas de cliente.
Permissões necessárias
Para copiar tabelas e partições, é necessário ter pelo menos as permissões a seguir:
No conjunto de dados de origem:
bigquery.tables.get
bigquery.tables.getData
No conjunto de dados de destino:
bigquery.tables.create
para criar a cópia da tabela ou da partição no conjunto de dados de destino
Os papéis predefinidos do IAM a seguir incluem as permissões bigquery.tables.create
, bigquery.tables.get
e bigquery.tables.getData
:
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Além disso, para executar o job copy, é necessário ter permissões bigquery.jobs.create
.
Os seguintes papéis predefinidos do IAM incluem as permissões bigquery.jobs.create
:
bigquery.user
bigquery.jobUser
bigquery.admin
Além disso, quando um usuário tem permissões bigquery.datasets.create
e cria um conjunto de dados, ele recebe o acesso bigquery.dataOwner
ao conjunto.
Com o acesso de bigquery.dataOwner
, o usuário consegue copiar tabelas e partições no conjunto de dados. No entanto, se o usuário não for o criador do conjunto de dados de destino, precisará receber acesso a ele.
Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Limitações ao copiar tabelas
Os jobs de cópia de tabelas estão sujeitos às limitações a seguir:
- Ao fazer a cópia, o nome da tabela de destino precisa aderir às mesmas convenções de nomenclatura da criação de tabelas.
- As cópias de tabelas estão sujeitas às políticas de cota do BigQuery nos jobs de cópia.
- Ao usar o Console do Cloud para copiar uma tabela, não é possível substituir uma tabela atual no conjunto de dados de destino. A tabela precisa ter um nome exclusivo nesse conjunto.
- Ao copiar tabelas, o conjunto de dados de destino e o que contém a tabela a ser copiada precisam estar no mesmo local. Por exemplo, não é possível copiar uma tabela de um conjunto de dados que tem base na UE e gravá-la em um conjunto que tem base nos EUA.
- A cópia de várias tabelas de origem em uma tabela de destino não é compatível com o Console do Cloud.
- Ao copiar várias tabelas de origem para uma tabela de destino usando a API ou a ferramenta de linha de comando
bq
, todas as tabelas de origem precisam ter esquemas idênticos. - O tempo que o BigQuery leva para copiar tabelas pode variar significativamente em diferentes execuções, porque o armazenamento subjacente é gerenciado dinamicamente.
Como copiar uma única tabela de origem
É possível copiar uma única tabela das seguintes maneiras:
- Como usar o Console do Cloud.
- usando o comando
bq
da ferramenta de linha de comandobq cp
; - Fazendo uma chamada do método de API
jobs.insert
, configurando um jobcopy
e especificando a propriedadesourceTable
. - usando bibliotecas de cliente.
O Console do Cloud aceita apenas uma tabela de origem e uma de destino em um job de cópia. Para copiar vários arquivos de origem para uma tabela de destino, você precisa usar a ferramenta de linha de comando bq
ou a API.
Para copiar uma única tabela de origem:
Console
No painel Explorer, expanda o projeto e o conjunto de dados e selecione a tabela.
No painel de detalhes, clique em Copiar tabela.
Na caixa de diálogo Copiar tabela, em Destino, siga estas etapas:
- Em Nome do projeto, escolha o projeto que armazenará a tabela copiada.
- Em Nome do conjunto de dados, selecione o conjunto de dados em que você quer armazenar a tabela copiada. Os conjuntos de dados de origem e destino precisam estar no mesmo local.
- Em Nome da tabela, insira um nome para a tabela nova. Ele precisa ser exclusivo no conjunto de dados de destino. Não é possível substituir uma tabela atual do conjunto de dados de destino usando o Console do Cloud. Para mais informações sobre os requisitos de nome de tabela, consulte Nomenclatura de tabelas.
Clique em Copiar para iniciar o job de cópia.
bq
Emita o comando bq cp
. É possível usar sinalizações opcionais para controlar a disposição de gravação da tabela de destino:
-a
ou--append_table
anexa os dados das tabelas de origem a uma tabela atual no conjunto de dados de destino.-f
ou--force
substitui uma tabela atual do conjunto de dados de destino e não solicita confirmação.-n
ou--no_clobber
retorna a mensagem de erro a seguir quando a tabela já está no conjunto de dados de destino:Table 'project_id:dataset.table' already exists, skipping.
. Se-n
não for especificado, o comportamento padrão é solicitar que o usuário escolha se quer substituir a tabela de destino.--destination_kms_key
é a chave do Cloud KMS gerenciada pelo cliente que é usada para criptografar a tabela de destino.
--destination_kms_key
não é demonstrado aqui. Para mais informações, consulte Como proteger dados com chaves do Cloud Key Management Service.
Se o conjunto de dados de origem ou de destino estiver em um projeto diferente do padrão, adicione o ID do projeto aos nomes dos conjuntos de dados no seguinte formato: project_id:dataset
.
Opcional: forneça a sinalização --location
e defina o valor do
local.
bq --location=location cp \ -a -f -n \project_id:dataset.source_table
\project_id:dataset.destination_table
Substitua:
location
: o nome do seu local. A sinalização--location
é opcional. Por exemplo, se estiver usando o BigQuery na região de Tóquio, defina o valor da sinalização comoasia-northeast1
. É possível definir um valor padrão para o local usando o arquivo.bigqueryrc
.project_id
: o ID do projeto.dataset
: o nome do conjunto de dados de origem ou de destino.source_table
: a tabela que você está copiando.destination_table
: o nome da tabela no conjunto de dados de destino.
Por exemplo:
Digite o seguinte comando para copiar mydataset.mytable
para mydataset2.mytable2
. Os dois conjuntos de dados estão no projeto padrão.
bq cp mydataset.mytable mydataset2.mytable2
Digite o seguinte comando para copiar mydataset.mytable
e substituir uma tabela de destino com o mesmo nome. O conjunto de dados de origem está no projeto padrão. O conjunto de dados de destino está em myotherproject
. O atalho -f
é usado para substituir a tabela de destino sem enviar uma solicitação.
bq cp -f \
mydataset.mytable \
myotherproject:myotherdataset.mytable
Insira o comando a seguir para copiar mydataset.mytable
e retornar um erro caso o conjunto de dados de destino contenha uma tabela com o mesmo nome. O conjunto de dados de origem está no projeto padrão. O conjunto de dados de destino está em myotherproject
. O atalho -n
é usado para evitar a substituição de uma tabela com o mesmo nome.
bq cp -n \
mydataset.mytable \
myotherproject:myotherdataset.mytable
Insira o seguinte comando para copiar mydataset.mytable
e anexar os dados a uma tabela de destino com o mesmo nome. O conjunto de dados de origem está no projeto padrão. O conjunto de dados de destino está em myotherproject
. O atalho -
a
é usado para anexar à tabela de destino.
bq cp -a mydataset.mytable myotherproject:myotherdataset.mytable
API
É possível copiar uma tabela atual por meio da API chamando o método bigquery.jobs.insert
e configurando um job copy
. Especifique seu local na propriedade location
da seção jobReference
do recurso do job.
Especifique os valores a seguir na configuração do job:
"copy": { "sourceTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "destinationTable": { // Required "projectId": string, // Required "datasetId": string, // Required "tableId": string // Required }, "createDisposition": string, // Optional "writeDisposition": string, // Optional },
Onde sourceTable
fornece informações sobre a tabela a ser copiada, destinationTable
fornece informações sobre a tabela nova, createDisposition
especifica se a tabela será criada caso não exista e writeDisposition
especifica se será necessário substituir ou anexar a uma tabela atual.
C#
Antes de testar essa amostra, siga as instruções de configuração para C# no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em C#.
Go
Antes de testar essa amostra, siga as instruções de configuração para Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Go.
Java
Antes de testar essa amostra, siga as instruções de configuração para Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Node.js.
PHP
Antes de testar esta amostra, siga as instruções de configuração para PHP no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery PHP.
Python
Antes de testar essa amostra, siga as instruções de configuração para Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.
Como copiar várias tabelas de origem
É possível copiar várias tabelas de origem em uma tabela de destino das seguintes maneiras:
- usando o comando
bq
da ferramenta de linha de comandobq cp
; - Fazendo uma chamada do método
jobs.insert
, configurando um jobcopy
e especificando a propriedadesourceTables
- Como usar bibliotecas de cliente.
Todas as tabelas de origem precisam ter esquemas idênticos. Apenas uma tabela de destino é permitida.
As tabelas de origem precisam ser especificadas como uma lista separada por vírgulas. Não é possível usar caracteres curingas quando várias tabelas de origem são copiadas.
Para copiar várias tabelas de origem:
Console
No momento, não é possível copiar várias tabelas usando o Console do Cloud.
bq
Emita o comando bq cp
e inclua várias tabelas de origem em uma lista separada por vírgulas. É possível usar sinalizações opcionais para controlar a disposição de gravação da tabela de destino:
-a
ou--append_table
anexa os dados das tabelas de origem a uma tabela atual no conjunto de dados de destino.-f
ou--force
substitui uma tabela atual do conjunto de dados de destino e não solicita confirmação.-n
ou--no_clobber
retorna a mensagem de erro a seguir quando a tabela já está no conjunto de dados de destino:Table 'project_id:dataset.table' already exists, skipping.
. Se-n
não for especificado, o comportamento padrão é solicitar que o usuário escolha se quer substituir a tabela de destino.--destination_kms_key
é a chave do Cloud Key Management Service gerenciada pelo cliente que é usada para criptografar a tabela de destino.
--destination_kms_key
não é demonstrado aqui. Para mais informações, consulte Como proteger dados com chaves do Cloud Key Management Service.
Se o conjunto de dados de origem ou de destino estiver em um projeto diferente do padrão, adicione o ID do projeto aos nomes dos conjuntos de dados no seguinte formato: project_id:dataset
.
Opcional: forneça a sinalização --location
e defina o valor do
local.
bq --location=location cp \ -a -f -n \project_id:dataset.source_table
,project_id:dataset.source_table
\project_id:dataset.destination_table
Substitua:
location
: o nome do seu local. A sinalização--location
é opcional. Por exemplo, se estiver usando o BigQuery na região de Tóquio, defina o valor da sinalização comoasia-northeast1
. É possível definir um valor padrão para o local usando o arquivo.bigqueryrc
.project_id
: o ID do projeto.dataset
: o nome do conjunto de dados de origem ou de destino.source_table
: a tabela que você está copiando.destination_table
: o nome da tabela no conjunto de dados de destino.
Por exemplo:
Insira o seguinte comando para copiar mydataset.mytable
e mydataset.mytable2
para mydataset2.tablecopy
. Todos os conjuntos de dados estão no projeto padrão.
bq cp \
mydataset.mytable,mydataset.mytable2 \
mydataset2.tablecopy
Insira o seguinte comando para copiar mydataset.mytable
e mydataset.mytable2
para myotherdataset.mytable
e para substituir uma tabela de destino com o mesmo nome. O conjunto de dados de destino está em myotherproject
, e não no projeto padrão. O atalho -f
é usado para substituir a tabela de destino sem enviar uma solicitação.
bq cp -f \
mydataset.mytable,mydataset.mytable2 \
myotherproject:myotherdataset.mytable
Insira o seguinte comando para copiar myproject:mydataset.mytable
e myproject:mydataset.mytable2
e retornar um erro caso o conjunto de dados de destino contenha uma tabela com o mesmo nome. O conjunto de dados de destino está em myotherproject
. O atalho -n
é usado para evitar a substituição de uma tabela com o mesmo nome.
bq cp -n \
myproject:mydataset.mytable,myproject:mydataset.mytable2 \
myotherproject:myotherdataset.mytable
Insira o seguinte comando para copiar mydataset.mytable
e mydataset.mytable2
e anexar os dados a uma tabela de destino com o mesmo nome. O conjunto de dados de origem está no projeto padrão. O conjunto de dados de destino está em myotherproject
. O atalho -a
é usado para anexar à tabela de destino.
bq cp -a \
mydataset.mytable,mydataset.mytable2 \
myotherproject:myotherdataset.mytable
API
Para copiar várias tabelas usando a API, chame o método jobs.insert
, configure um job copy
da tabela e especifique a propriedade sourceTables
.
Especifique sua região na propriedade location
da seção jobReference
do recurso do job.
Go
Antes de testar essa amostra, siga as instruções de configuração para Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Go.
Java
Antes de testar essa amostra, siga as instruções de configuração para Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Node.js.
Python
Antes de testar essa amostra, siga as instruções de configuração para Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.
Como excluir tabelas
É possível excluir um conjunto de dados das seguintes maneiras:
- Como usar o Console do Cloud.
- Como usar o comando
bq
da ferramenta de linha de comandobq rm
- Chamada do método de API
tables.delete
- Como usar bibliotecas de cliente.
No momento, só é possível excluir uma tabela por vez.
Ao excluir uma tabela, todos os dados dela também são removidos. Para excluir tabelas automaticamente após um período especificado, defina a validade padrão da tabela para o conjunto de dados ou defina o prazo de validade ao criar a tabela.
Permissões necessárias
Para excluir uma tabela, você precisa ter pelo menos as permissões bigquery.tables.delete
e bigquery.tables.get
. Os papéis predefinidos do IAM a seguir incluem as permissões bigquery.tables.delete
e bigquery.tables.get
:
bigquery.dataOwner
bigquery.dataEditor
bigquery.admin
Além disso, quando um usuário tem permissões bigquery.datasets.create
e cria um conjunto de dados, ele recebe o acesso bigquery.dataOwner
ao conjunto.
Com o acesso bigquery.dataOwner
, o usuário pode excluir tabelas no conjunto de dados.
Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Como excluir tabelas
Para excluir uma tabela:
Console
No painel Explorer, expanda o projeto e o conjunto de dados e selecione a tabela.
No painel de detalhes, clique em Excluir tabela.
Digite o nome da tabela na caixa de diálogo e clique em Excluir para confirmar.
SQL
Com as instruções de linguagem de definição de dados (DDL), é possível excluir tabelas usando a sintaxe de consulta do SQL padrão.
Saiba mais sobre Como usar as instruções da linguagem de definição de dados.
Para excluir uma tabela atual usando uma instrução DDL no Console do Cloud, siga estas etapas:
Clique em Escrever nova consulta.
Digite a instrução DDL no campo Editor de consultas.
DROP TABLE mydataset.mytable
Clique em Executar.
bq
Use o comando bq rm
com a sinalização --table
(ou atalho -t
) para excluir uma tabela. Quando você usa a ferramenta de linha de comando bq
para remover uma tabela, é necessário confirmar a ação. É possível usar a sinalização --force
(ou atalho -f
) para pular a confirmação.
Se a tabela estiver em um conjunto de dados de um projeto diferente do padrão, adicione o ID do projeto ao nome do conjunto no seguinte formato: project_id:dataset
.
bq rm \ -f \ -t \ project_id:dataset.table
Substitua:
project_id
: ID do projetodataset
: o nome do conjunto de dados onde está a tabelatable
: o nome da tabela que você está excluindo
Por exemplo:
Digite o seguinte comando para excluir mytable
de mydataset
.
mydataset
está no projeto padrão.
bq rm -t mydataset.mytable
Digite o seguinte comando para excluir mytable
de mydataset
.
mydataset
está em myotherproject
, não no projeto padrão.
bq rm -t myotherproject:mydataset.mytable
Digite o seguinte comando para excluir mytable
de mydataset
.
mydataset
está no projeto padrão. O comando usa o atalho -f
para ignorar a confirmação.
bq rm -f -t mydataset.mytable
API
Chame o método API tables.delete
e especifique a tabela a ser excluída usando o parâmetro tableId
.
C#
Antes de testar essa amostra, siga as instruções de configuração para C# no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em C#.
Go
Antes de testar essa amostra, siga as instruções de configuração para Go no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Go.
Java
Antes de testar essa amostra, siga as instruções de configuração para Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Node.js.
PHP
Antes de testar esta amostra, siga as instruções de configuração para PHP no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery PHP.
Python
Antes de testar essa amostra, siga as instruções de configuração para Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.
Ruby
Antes de testar esta amostra, siga as instruções de configuração para Ruby no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de Referência da API BigQuery Ruby.
Como restaurar tabelas excluídas
Você pode cancelar a exclusão de uma tabela em até sete dias após a exclusão (incluindo exclusões explícitas e implícitas pela expiração da tabela). Após sete dias, não é possível cancelar a exclusão de uma tabela usando qualquer método, incluindo a abertura de um tíquete de suporte.
É possível restaurar uma tabela excluída das seguintes formas:
- Como usar o decorador de snapshot
@<time>
na ferramenta de linha de comandobq
- Como usar bibliotecas de cliente
Console
Não é possível cancelar a exclusão de uma tabela usando o Console do Cloud.
bq
Para cancelar a exclusão de uma tabela, use uma operação de cópia de tabela com o decorador de snapshot @<time>
. Primeiro, determine um carimbo de data/hora UNIX em milissegundos de quando a tabela existia. Em seguida, use o comando bq copy
com o decorador de snapshot.
Por exemplo, digite o seguinte comando para copiar mydataset.mytable
no momento 1418864998000
para uma nova tabela mydataset.newtable
.
bq cp mydataset.mytable@1418864998000 mydataset.newtable
Opcional: forneça a sinalização --location
e defina o valor do
local.
Também é possível especificar um deslocamento relativo. O exemplo a seguir copia a versão de uma tabela de uma hora atrás:
bq cp mydataset.mytable@-3600000 mydataset.newtable
Para mais informações, consulte Restaurar uma tabela de um momento.
Go
Java
Antes de testar essa amostra, siga as instruções de configuração para Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery Node.js.
Python
Antes de testar essa amostra, siga as instruções de configuração para Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.
Próximas etapas
- Para mais informações sobre como criar e usar tabelas, consulte esta página.
- Para saber mais sobre o gerenciamento de dados, consulte Como trabalhar com dados de tabela.
- Para mais informações sobre como especificar esquemas de tabela, consulte Como especificar um esquema.
- Para mais informações sobre como modificar esquemas de tabelas, consulte esta página.
- Para mais informações sobre conjuntos de dados, consulte Introdução aos conjuntos de dados.
- Para mais informações sobre visualizações, consulte Introdução às visualizações.