Gerenciar conjuntos de dados
Neste documento, descrevemos como copiar conjuntos de dados, recriar conjuntos de dados em outro local, proteger conjuntos de dados, excluir conjuntos de dados, restaurar tabelas de conjuntos de dados excluídos e cancelar a exclusão de conjuntos de dados no BigQuery.
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. Como alternativa para alterar o nome do conjunto de dados, é possível copiar um conjunto de dados e alterar o nome do conjunto de dados de destino. Para realocar um conjunto de dados, siga um dos seguintes métodos:
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.
Para conseguir as permissões necessárias para gerenciar conjuntos de dados, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Copiar um conjunto de dados (Beta):
-
Administrador do BigQuery (
roles/bigquery.admin
) no projeto de destino -
Visualizador de dados do BigQuery (
roles/bigquery.dataViewer
) no conjunto de dados de origem -
Editor de dados do BigQuery (
roles/bigquery.dataEditor
) no conjunto de dados de destino
-
Administrador do BigQuery (
- Excluir um conjunto de dados: Proprietário de dados do BigQuery (
roles/bigquery.dataOwner
) no projeto - Restaurar um conjunto de dados excluído: Usuário do BigQuery (
roles/bigquery.user
) no projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para gerenciar conjuntos de dados. Para conferir 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 gerenciar conjuntos de dados:
-
Copiar um conjunto de dados:
-
bigquery.transfers.update
no projeto de destino -
bigquery.jobs.create
no projeto de destino -
bigquery.datasets.get
nos conjuntos de dados de origem e de destino -
bigquery.tables.list
nos conjuntos de dados de origem e de destino -
bigquery.datasets.update
no conjunto de dados de destino -
bigquery.tables.create
no conjunto de dados de destino
-
-
Excluir um conjunto de dados:
-
bigquery.datasets.delete
no projeto -
bigquery.tables.delete
no projeto
-
-
Restaurar um conjunto de dados excluído:
-
bigquery.datasets.create
no projeto -
bigquery.datasets.get
no conjunto de dados
-
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Introdução ao IAM.
Copiar conjuntos de dados
É possível copiar um conjunto de dados, incluindo dados particionados em uma região ou entre regiões, sem extrair, mover ou recarregar esses dados no BigQuery. O BigQuery usa o serviço de transferência de dados do BigQuery no back-end para copiar conjuntos de dados. Para considerações de localização ao transferir dados, consulte Local e transferências de dados.
Para cada configuração de cópia de conjunto de dados, é possível executar uma transferência por vez. Execuções de transferência adicionais são enfileiradas. Se você estiver usando o console do Google Cloud, poderá programar cópias recorrentes e configurar um e-mail ou notificações do Pub/Sub com o serviço de transferência de dados do BigQuery.
Limitações
As seguintes limitações se aplicam quando você copia conjuntos de dados:
Não é possível copiar os seguintes recursos de um conjunto de dados de origem:
- Visualizações.
- Rotinas, incluindo UDFs.
- Tabelas externas.
- Tabelas de captura de dados alterados (CDC), caso o job de cópia esteja entre regiões. É possível copiar tabelas de CDC dentro da mesma região.
O job de cópia de tabelas entre regiões não é compatível com tabelas criptografadas com chaves criptografadas gerenciadas pelo cliente (CMEK) quando o conjunto de dados de destino não é criptografado com CMEK e não há uma CMEK fornecida. É possível copiar tabelas com criptografia padrão entre regiões.
É possível copiar todas as tabelas criptografadas na mesma região, incluindo aquelas criptografadas com CMEK.
Não é possível usar os seguintes recursos como conjuntos de dados de destino para jobs de cópia:
- Armazenamento otimizado para gravação.
Conjunto de dados criptografado com CMEK se o job de cópia estiver entre regiões e a tabela de origem não for criptografada com CMEK.
No entanto, as tabelas criptografadas com CMEK são permitidas como tabelas de destino quando copiadas na mesma região.
A frequência mínima entre jobs de cópia é de 12 horas.
Não é possível anexar dados a uma tabela particionada no conjunto de dados de destino.
Se houver uma tabela nos conjuntos de dados de origem e de destino e a tabela de origem não tiver sido alterada desde a última cópia bem-sucedida, ela será ignorada. A tabela de origem será ignorada mesmo se a caixa de seleção Substituir tabelas de destino estiver marcada.
Ao truncar tabelas no conjunto de dados de destino, o job de cópia do conjunto de dados não detecta as alterações feitas nos recursos no conjunto de dados de destino antes de iniciar o job de cópia. O job de cópia de conjunto de dados substitui todos os dados no conjunto de dados de destino, incluindo as tabelas e o esquema.
A tabela de destino pode não refletir as alterações feitas nas tabelas de origem após o início de um job de cópia.
Não é possível copiar um conjunto de dados nas regiões do BigQuery Omni.
Para copiar um conjunto de dados para um projeto em outro perímetro de serviço do VPC Service Controls, defina as seguintes regras de saída:
Na configuração do perímetro de serviço do VPC Service Controls do projeto de destino, o principal do IAM precisa ter os seguintes métodos:
bigquery.datasets.get
bigquery.tables.list
bigquery.tables.get
,bigquery.tables.getData
Na configuração do perímetro de serviço do VPC Service Controls do projeto de origem, o principal do IAM que está sendo usado precisa ter o método definido como
All Methods
.
Copiar um conjunto de dados
Selecione uma das seguintes opções:
Console
Ative o serviço de transferência de dados do BigQuery para o conjunto de dados de destino.
Verifique se você tem os papéis necessários.
Se você pretende configurar notificações de execução de transferência do Pub/Sub (opção 2 mais adiante nestas etapas), precisará ter a permissão
pubsub.topics.setIamPolicy
.Se você só configurar notificações por e-mail, as permissões do Pub/Sub não serão necessárias. Para mais informações, consulte as Notificações de execução do serviço de transferência de dados do BigQuery.
Crie um conjunto de dados do BigQuery na mesma região ou em uma diferente do conjunto de dados de origem.
Opção 1: usar a função de cópia do BigQuery
Para criar uma transferência única, use a função de cópia do BigQuery:
Acessar a página do BigQuery.
No painel Explorer, expanda o projeto e selecione um conjunto de dados.
Na seção Informações do conjunto de dados, clique em
Copiar e faça o seguinte:No campo Conjunto de dados, crie um novo conjunto de dados ou selecione um código do conjunto de dados na lista.
Os nomes dos conjuntos de dados em um projeto precisam ser exclusivos. O projeto e o conjunto de dados podem estar em regiões diferentes, mas nem todas as regiões são compatíveis com a cópia de conjuntos de dados entre regiões.
No campo Local, é exibido o local do conjunto de dados de origem.
Opcional: para substituir os dados e o esquema das tabelas de destino pelas tabelas de origem, marque a caixa de seleção Substituir tabelas de destino. As tabelas de origem e de destino precisam ter o mesmo esquema de particionamento.
Para copiar o conjunto de dados, clique em Copiar.
Opção 2: usar o serviço de transferência de dados do BigQuery
Para programar cópias recorrentes e configurar notificações por e-mail ou do Pub/Sub, use o serviço de transferência de dados do BigQuery no console do Google Cloud do projeto de destino:
Acesse a página Transferências de dados.
Clique em Criar uma transferência.
Na lista Origem, selecione Cópia do conjunto de dados.
No campo Nome de exibição, digite um nome para a execução da transferência.
Na seção Opções de programação, realize estas ações:
Em Frequência de repetição, escolha uma opção para a frequência de execução da transferência:
Se você selecionar Personalizado, insira uma frequência personalizada, por exemplo,
every day 00:00
. Para mais informações, consulte Formatar a programação.Em Data e hora de início, insira a data e a hora para iniciar a transferência. Se você escolher Iniciar agora, essa opção ficará desativada.
Na seção Configurações de destino, selecione um conjunto de dados de destino para armazenar os dados de transferência. Também é possível clicar em CRIAR NOVO CONJUNTO DE DADOS para criar um novo conjunto de dados antes de selecioná-lo para esta transferência.
Na seção Detalhes da fonte de dados, insira as seguintes informações:
- Em Conjunto de dados de origem, digite o ID do conjunto de dados que você quer copiar.
- Em Projeto de origem, insira o ID do projeto do conjunto de dados de origem.
Para substituir os dados e o esquema das tabelas de destino pelas tabelas de origem, marque a caixa de seleção Substituir tabelas de destino. As tabelas de origem e de destino precisam ter o mesmo esquema de particionamento.
No menu Conta de serviço, selecione uma conta de serviço nas contas de serviço associadas ao seu projeto do Google Cloud. É possível associar uma conta de serviço à transferência em vez de usar suas credenciais de usuário. Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.
- Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência é opcional.
- A conta de serviço precisa ter os papéis necessários.
Opcional: na seção Opções de notificação, faça o seguinte:
- Para ativar as notificações por e-mail, clique no botão de alternância. Quando você ativa essa opção, o proprietário da configuração de transferência recebe uma notificação por e-mail quando uma execução de transferência falha.
- Para ativar as notificações do Pub/Sub, clique no botão de alternância e selecione um nome de tópico na lista ou clique em Criar um tópico. Essa opção configura notificações de execução do Pub/Sub para a transferência.
Clique em Salvar.
bq
Ative o serviço de transferência de dados do BigQuery para o conjunto de dados de destino.
Verifique se você tem os papéis necessários.
Para criar um conjunto de dados do BigQuery, use o comando
bq mk
com as sinalizações de criação de conjunto de dados--dataset
elocation
:bq mk \ --dataset \ --location=LOCATION \ PROJECT:DATASET
Substitua:
LOCATION
: o local em que você quer copiar o conjunto de dadosPROJECT
: o ID do projeto do conjunto de dados de destinoDATASET
: o nome do conjunto de dados de destino
Para copiar um conjunto de dados, use o comando
bq mk
com as sinalizações de criação de transferência--transfer_config
e--data_source
. Defina a flag--data_source
comocross_region_copy
. Para uma lista completa de valores válidos para a sinalização--data_source
, consulte as sinalizações de configuração de transferência na referência da ferramenta de linha de comando bq.bq mk \ --transfer_config \ --project_id=PROJECT \ --data_source=cross_region_copy \ --target_dataset=DATASET \ --display_name=NAME \ --service_account_name=SERCICE_ACCOUNT \ --params='PARAMETERS'
Substitua:
NAME
: o nome de exibição do job de cópia ou da configuração de transferência.SERVICE_ACCOUNT
: o nome da conta de serviço usado para autenticar a transferência. A conta de serviço precisa pertencer ao mesmoproject_id
usado para criar a transferência e ter todas as permissões necessárias.PARAMETERS
: os parâmetros da configuração de transferência no formato JSONOs parâmetros de uma configuração de cópia de conjunto de dados incluem o seguinte:
source_dataset_id
: o ID do conjunto de dados de origem que você quer copiarsource_project_id
: o ID do projeto que contém o conjunto de dados de origemoverwrite_destination_table
: uma flag opcional que permite truncar as tabelas de uma cópia anterior e atualizar todos os dados
As tabelas de origem e de destino precisam ter o mesmo esquema de particionamento.
Os seguintes exemplos mostram a formatação dos parâmetros com base no ambiente do sistema:
Linux: use aspas simples para delimitar a string JSON. Por exemplo:
'{"source_dataset_id":"mydataset","source_project_id":"mysourceproject","overwrite_destination_table":"true"}'
Linha de comando do Windows: use aspas duplas para delimitar a string JSON e faça o escape de aspas duplas na string com uma barra invertida. Por exemplo:
"{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}"
PowerShell: use aspas simples para delimitar a string JSON e faça o escape das aspas duplas na string com uma barra invertida. Por exemplo:
'{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}'
Por exemplo, o comando a seguir cria uma configuração de cópia de conjunto de dados chamada
My Transfer
com um conjunto de dados de destino chamadomydataset
e um projeto com o IDmyproject
.bq mk \ --transfer_config \ --project_id=myproject \ --data_source=cross_region_copy \ --target_dataset=mydataset \ --display_name='My Transfer' \ --params='{ "source_dataset_id":"123_demo_eu", "source_project_id":"mysourceproject", "overwrite_destination_table":"true" }'
API
Ative o serviço de transferência de dados do BigQuery para o conjunto de dados de destino.
Verifique se você tem os papéis necessários.
Para criar um conjunto de dados do BigQuery, chame o método
datasets.insert
com um recurso de conjunto de dados definido.Para copiar um conjunto de dados, use o método
projects.locations.transferConfigs.create
e forneça uma instância do recursoTransferConfig
.
Java
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.
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.
Instale o cliente Python para a API Data Transfer do BigQuery compip install google-cloud-bigquery-datatransfer
. Em seguida, crie uma configuração de transferência para copiar o conjunto de dados.
Para evitar custos extras de armazenamento, considere a exclusão do conjunto de dados antigo.
Consultar jobs de cópia de conjunto de dados
Para consultar o status e os detalhes de um job de cópia de conjunto de dados no console do Google Cloud, faça o seguinte:
No console do Google Cloud, acesse a página Transferências de dados.
Selecione uma transferência em que você quer visualizar os detalhes e faça o seguinte:
Na página Detalhes da transferência, selecione uma execução de transferência.
Para atualizar, clique em
Atualizar.
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 no mesmo local que o conjunto de dados ou em um local contido no local do conjunto de dados. Por exemplo, se o conjunto de dados estiver no local multirregional
EU
, será possível exportar os dados para o localeurope-west1
da Bélgica, que faz parte da UE.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 exportaçã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
US
para a regiãoasia-northeast1
de 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 Cloud Composer 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 do Google Cloud, as tabelas e visualizações
no conjunto de dados, incluindo os dados, são excluídas. Ao excluir um
conjunto de dados usando a ferramenta de linha de comando bq, use a sinalização -r
para excluir as
tabelas e visualizações.
Para excluir um conjunto de dados, selecione uma das seguintes opções:
Console
Acessar a página do BigQuery.
No painel Explorer, expanda o projeto e selecione um conjunto de dados.
Expanda a opção
Ações e clique em Excluir.Na caixa de diálogo Excluir conjunto de dados, digite
delete
no 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 Google Cloud, 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.
Instale o cliente Python para a API Data Transfer do BigQuery compip 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.
Instale o cliente Python para a API Data Transfer do BigQuery compip 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.
Instale o cliente Python para a API Data Transfer do BigQuery compip 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.
Instale o cliente Python para a API Data Transfer do BigQuery compip 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.
Instale o cliente Python para a API Data Transfer do BigQuery compip 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.
Instale o cliente Python para a API Data Transfer do BigQuery compip 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.
Instale o cliente Python para a API Data Transfer do BigQuery compip 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 Cancelar exclusão de conjuntos de dados.
- 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.table1
no momento1418864998000
para 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_STORAGE
do conjunto de dados dentro da janela de viagem no tempo.
Cancelar exclusão de conjuntos de dados
É possível cancelar a exclusão de um conjunto de dados para recuperá-lo para o estado em que ele estava quando foi excluído. Só é possível cancelar a exclusão dos conjuntos de dados que estão dentro da janela de viagem no tempo. Essa recuperação inclui todos os objetos contidos no conjunto de dados, as propriedades dele e as configurações de segurança. Para recursos que não são recuperados, consulte Cancelar exclusão de limitações do conjunto de dados.
Cancelar exclusão das limitações do conjunto de dados
- Os conjuntos de dados restaurados podem fazer referência a principais de segurança que não existem mais.
- As referências a um conjunto de dados excluído nos conjuntos de dados vinculados não são restauradas usando o cancelamento da exclusão. Os assinantes precisam se inscrever de novo para restaurar os links manualmente.
- As tags de empresas não são restauradas com o cancelamento de exclusão.
- É necessário atualizar manualmente as visualizações materializadas e autorizar novamente visualizações autorizadas, conjuntos de dados autorizados. e rotinas autorizadas. Observe que, quando recursos autorizados (visualizações, conjuntos de dados e rotinas) são excluídos, a autorização leva até 24 horas para ser excluída. Portanto, se você cancelar a exclusão de um conjunto de dados com um recurso autorizado menos de 24 horas após a exclusão, talvez não seja necessária uma nova autorização. Como prática recomendada, sempre verifique a autorização depois de cancelar a exclusão de recursos.
Cancelar a exclusão de um conjunto de dados
Para cancelar exclusão de um conjunto de dados, selecione uma das seguintes opções:
SQL
Use a
instrução de linguagem de definição de dados (DDL) UNDROP SCHEMA
:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
UNDROP SCHEMA
DATASET_ID
;Substitua
DATASET_ID
pelo conjunto de dados que você quer cancelar a exclusão.Especifique o local do conjunto de dados que você quer cancelar a exclusão.
Clique em
Executar.
Para informações sobre como executar consultas, consulte Como executar consultas interativas.
API
Chame o
método datasets.undelete
.
Quando você cancela a exclusão de um conjunto de dados, os seguintes erros podem ocorrer:
ALREADY_EXISTS
: um conjunto de dados com o mesmo nome já existe na região em que você tentou cancelar a exclusão. Não é possível cancelar a exclusão para substituir ou mesclar conjuntos de dados.NOT_FOUND
: o conjunto de dados que você está tentando recuperar passou da janela de viagem no tempo, nunca existiu ou você não especificou o local correto do conjunto de dados.ACCESS_DENIED
: você não tem as permissões corretas para cancelar a exclusão deste conjunto de dados.
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
, consulte
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.