Gerenciar conjuntos de dados
Neste documento, descrevemos como recriar conjuntos de dados em outro local, proteger conjuntos de dados, excluir conjuntos de dados e restaurar tabelas de conjuntos de dados excluídos no BigQuery. Para informações sobre como restaurar (ou cancelar a exclusão) de um conjunto de dados excluído, consulte Restaurar conjuntos de dados excluídos.
Como administrador do BigQuery, é possível organizar e controlar o acesso às tabelas e visualizações que os analistas usam. Para mais informações sobre conjuntos de dados, consulte Introdução aos conjuntos de dados.
Não é possível alterar o nome de um conjunto de dados atual ou realocar um conjunto de dados após a criação.
Funções exigidas
Nesta seção, descrevemos os papéis e as permissões necessários para gerenciar conjuntos de dados. Se o conjunto de dados de origem ou de destino estiver no mesmo projeto que está sendo usado para a cópia, não serão necessárias permissões ou papéis extras nesse conjunto de dados.
Excluir um conjunto de dados
Conceda essas funções para excluir um conjunto de dados.
Para receber as permissões necessárias para excluir conjuntos de dados,
peça ao administrador para conceder a você o papel do IAM de
Proprietário de dados do BigQuery (roles/bigquery.dataOwner) no projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esse papel predefinido contém as permissões necessárias para excluir conjuntos de dados. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para excluir conjuntos de dados:
-
bigquery.datasets.deleteno projeto -
bigquery.tables.deleteno projeto
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Recriar conjuntos de dados em outro local
Para mover manualmente um conjunto de dados de um local para outro, siga estas etapas:
-
Exporte os dados das tabelas do BigQuery para um bucket do Cloud Storage.
Não há cobrança pela exportação de dados do BigQuery, mas são cobradas taxas pelo armazenamento dos dados exportados no Cloud Storage. As exportações do BigQuery estão sujeitas aos limites de jobs de extração.
-
Copie ou mova os dados do bucket do Cloud Storage de exportação para um novo bucket criado no local de destino. Por exemplo, se você estiver movendo os dados da multirregião
USpara a regiãoasia-northeast1de Tóquio, será necessário transferi-los para um bucket criado em Tóquio. Para informações sobre como transferir objetos do Cloud Storage, consulte Copiar, renomear e mover objetos na documentação do Cloud Storage.A transferência de dados entre regiões gera cobranças de saída de rede no Cloud Storage.
-
Crie um conjunto de dados do BigQuery no novo local e carregue os dados do bucket do Cloud Storage nele.
Você não será cobrado pelo carregamento dos dados no BigQuery, mas haverá cobranças pelo armazenamento dos dados no Cloud Storage até que os dados ou o bucket sejam excluídos. Também haverá cobrança pelo armazenamento de dados no BigQuery depois que eles forem carregados. O carregamento de dados no BigQuery está sujeito aos limites de jobs de carregamento.
Também é possível usar o Serviço gerenciado para Apache Airflow para mover e copiar grandes conjuntos de dados de maneira programática.
Para mais informações sobre como usar o Cloud Storage para armazenar e mover grandes conjuntos de dados, consulte Como usar o Cloud Storage com Big Data.
Proteger conjuntos de dados
Para controlar o acesso a conjuntos de dados no BigQuery, consulte Como controlar o acesso a conjuntos de dados. Para saber mais sobre criptografia de dados, consulte Criptografia em repouso.
Excluir conjuntos de dados
Quando você exclui um conjunto de dados usando o console Cloud de Confiance , as tabelas e visualizações no conjunto de dados, incluindo os dados, são excluídas automaticamente. No entanto, ao usar qualquer outro método, você precisa esvaziar o conjunto de dados primeiro ou especificar flags, parâmetros ou palavras-chave correspondentes que forcem a remoção do conteúdo do conjunto de dados.
Se você tentar excluir um conjunto de dados não vazio sem as flags ou parâmetros adequados, a operação vai falhar com o seguinte erro: Dataset project:dataset is still in use.
A exclusão de um conjunto de dados cria uma entrada de registro de auditoria para a exclusão. Ele não cria entradas de registro separadas para cada tabela excluída no conjunto de dados.
Para excluir um conjunto de dados, selecione uma das seguintes opções:
Console
Acessar a página do BigQuery.
No painel à esquerda, clique em Explorer:

No painel Explorer, expanda o projeto, clique em Conjuntos de dados e selecione o conjunto de dados.
No painel de detalhes, clique em Excluir.
Na caixa de diálogo Excluir conjunto de dados, digite
deleteno campo e clique em Excluir.
SQL
Para excluir um conjunto de dados, use a
instrução DROP SCHEMA.
No exemplo a seguir, um conjunto de dados chamado mydataset é excluído:
No console do Cloud de Confiance , acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
DROP SCHEMA IF EXISTS mydataset;
Por padrão, isso só funciona para excluir um conjunto de dados vazio. Para excluir um conjunto de dados e todo o conteúdo dele, use a palavra-chave
CASCADE:DROP SCHEMA IF EXISTS mydataset CASCADE;
Clique em Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Use o comando bq rm
com a flag --dataset ou -d, que é opcional.
Se o conjunto de dados contiver tabelas, você precisará usar a flag -r para
remover todas as tabelas dele. Se você usar a flag -r, será possível omitir
a flag --dataset ou -d.
Depois de executar o comando, o sistema pede confirmação. É possível usar a
flag -f para ignorar a confirmação.
Para excluir 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 rm -r -f -d PROJECT_ID:DATASET
Substitua:
PROJECT_ID: ID do projetoDATASET: o nome do conjunto de dados que você está excluindo
Exemplos:
Insira o comando a seguir para remover do projeto padrão um conjunto de dados chamado mydataset e todas
as tabelas nele. O comando usa a flag
-d.
bq rm -r -d mydataset
Quando solicitado, digite y e pressione Enter.
Digite o seguinte comando para remover mydataset e todas as respectivas tabelas de myotherproject. O comando não usa a flag opcional -d.
A flag -f é usada para ignorar a confirmação.
bq rm -r -f myotherproject:mydataset
Use o comando bq ls para confirmar se o conjunto de dados foi excluído.
API
Chame o método datasets.delete para excluir o conjunto de dados e defina o parâmetro deleteContents como true para excluir as tabelas dele.
C#
O exemplo de código a seguir exclui um conjunto de dados vazio.
Antes de testar esta amostra, siga as instruções de configuração do 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#.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
No exemplo de código a seguir, um conjunto de dados e todo o conteúdo dele são excluídos:
Go
Antes de testar esta amostra, siga as instruções de configuração do 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.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
Java
O exemplo de código a seguir exclui um conjunto de dados vazio.
Antes de testar esta amostra, siga as instruções de configuração do 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.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
No exemplo de código a seguir, um conjunto de dados e todo o conteúdo dele são excluídos:
Node.js
Antes de testar esta amostra, siga as instruções de configuração do 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 em Node.js.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
PHP
Antes de testar esta amostra, siga as instruções de configuração do 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 em PHP.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
Python
Antes de testar esta amostra, siga as instruções de configuração do 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.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
Ruby
O exemplo de código a seguir exclui um conjunto de dados vazio.
Antes de testar esta amostra, siga as instruções de configuração do 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 em Ruby.
Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, acesse Configurar a autenticação para bibliotecas de cliente.
Antes de executar exemplos de código, defina a variável de ambiente GOOGLE_CLOUD_UNIVERSE_DOMAIN como s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
No exemplo de código a seguir, um conjunto de dados e todo o conteúdo dele são excluídos:
Restaurar tabelas de conjuntos de dados excluídos
É possível restaurar as tabelas de um conjunto de dados excluído que estejam dentro da janela de viagem no tempo dele. Para restaurar todo o conjunto de dados, consulte Restaurar conjuntos de dados excluídos.
- Crie um conjunto de dados com o mesmo nome e no mesmo local do original.
- Escolha um carimbo de data/hora anterior à exclusão do conjunto de dados original usando um
formato de milissegundos desde o período, por exemplo,
1418864998000. Copie a tabela
originaldataset.table1no momento1418864998000para o novo conjunto de dados:bq cp originaldataset.table1@1418864998000 mydataset.mytable
Para encontrar os nomes das tabelas não vazias que estavam no conjunto de dados excluído, consulte a visualização
INFORMATION_SCHEMA.TABLE_STORAGEdo conjunto de dados dentro da janela de viagem no tempo.
Restaurar conjuntos de dados excluídos
Para saber como restaurar (ou cancelar a exclusão) um conjunto de dados excluído, consulte Restaurar conjuntos de dados excluídos.
Cotas
Para informações sobre cotas de cópia, consulte Jobs de cópia.
O uso de jobs de cópia está disponível no INFORMATION_SCHEMA. Para saber como consultar a visualização INFORMATION_SCHEMA.JOBS, acesse Visualização JOBS.
Preços
Para informações sobre preços de cópia de conjuntos de dados, consulte Preços de replicação de dados.
O BigQuery envia dados compactados para cópia entre regiões. Portanto, os dados faturados podem ser menores que o tamanho real do conjunto de dados. Para saber mais, acesse a página Preços do BigQuery.
A seguir
- Saiba como criar conjuntos de dados.
- Saiba como atualizar conjuntos de dados.