Como gerenciar visualizações
Neste documento, descrevemos como gerenciar visualizações no BigQuery. Gerencie as visualizações do BigQuery das seguintes maneiras:
- Atualizar uma visualização
- Copie uma visualização.
- Renomeie uma visualização.
- Exclua uma visualização
Antes de começar
Atribua papéis do Identity and Access Management (IAM) que concedam aos usuários as permissões necessárias para realizar cada tarefa deste documento. As permissões necessárias para executar uma tarefa (se houver) são listadas na seção "Permissões necessárias".
Atualizar uma visualização
Depois de criar uma visualização, é possível atualizar as propriedades a seguir:
Permissões necessárias
Para atualizar uma visualização, você precisa das seguintes permissões do IAM:
bigquery.tables.update
bigquery.tables.get
Cada um dos papéis predefinidos do IAM a seguir inclui as permissões necessárias para atualizar uma visualização:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Além disso, se você tiver a permissão bigquery.datasets.create
, poderá
atualizar tabelas e visualizações nos conjuntos de dados que criar.
Para atualizar a consulta SQL da visualização, você também precisa ter permissões para consultar as tabelas referenciadas pela consulta SQL da visualização.
Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Como atualizar a consulta SQL de uma visualização
Para atualizar a consulta SQL usada para definir uma visualização:
- Use o console do Google Cloud
- use o comando
bq update
da ferramenta de linha de comando bq; - chame o
tables.patch
método de API; - Como usar bibliotecas de cliente
É possível alterar o dialeto SQL legado para GoogleSQL na API ou na ferramenta de linha de comando bq. Não é possível atualizar uma visualização de SQL legado para o GoogleSQL no console do Google Cloud.
Para atualizar a consulta SQL de uma visualização:
Console
No painel Explorador, expanda o projeto e o conjunto de dados e selecione a visualização.
Clique na guia Details.
Acima da caixa Consulta, clique no botão Editar consulta. Clique em Abrir na caixa de diálogo exibida.
Edite a consulta SQL na caixa Editor de consultas e clique em Salvar visualização.
Verifique se todos os campos estão corretos na caixa de diálogo Salvar visualização e clique em Salvar.
bq
Use o comando bq update
com a sinalização --view
. Para usar o GoogleSQL ou
atualizar o dialeto de consulta do SQL legado para o GoogleSQL, inclua a
sinalização --use_legacy_sql
e a defina como false
.
Se a consulta se referir a recursos de função externos definidos pelo usuário
armazenados no Cloud Storage ou em arquivos locais, use a
sinalização --view_udf_resource
para especificar esses recursos. A sinalização --view_udf_resource
não é demonstrada aqui. Para mais informações sobre como usar UDFs, consulte
Funções definidas pelo usuário do GoogleSQL.
Caso esteja atualizando uma visualização em um projeto diferente do projeto padrão, adicione a ID do projeto ao nome do conjunto de dados no seguinte formato: project_id:dataset
.
bq update \ --use_legacy_sql=false \ --view_udf_resource=path_to_file \ --view='query' \ project_id:dataset.view
Substitua:
- path_to_file: o caminho do URI ou do sistema de arquivos local para um arquivo de código a ser carregado e avaliado imediatamente como recurso de função definida pelo usuário, usado pela visualização. Repita a sinalização para especificar vários arquivos;
- query: uma consulta válida do GoogleSQL.
- project_id: ID do projeto
- dataset: o nome do conjunto de dados que contém a visualização que você está atualizando.
- view: o nome da visualização que você está atualizando.
Exemplos
Use o seguinte comando para atualizar a consulta SQL para uma visualização nomeada myview
em mydataset
. mydataset
está em seu projeto padrão. A consulta de exemplo usada para atualizar os dados de consultas de visualização do conjunto de dados público Dados de nomes dos EUA.
bq update \
--use_legacy_sql=false \
--view \
'SELECT
name,
number
FROM
`bigquery-public-data.usa_names.usa_1910_current`
WHERE
gender = "M"
ORDER BY
number DESC;' \
mydataset.myview
Use o seguinte comando para atualizar a consulta SQL para uma visualização nomeada myview
em mydataset
. mydataset
está em myotherproject
, não no seu projeto padrão. A consulta de exemplo usada para atualizar os dados de consultas de visualização do conjunto de dados público Dados de nomes dos EUA.
bq update \
--use_legacy_sql=false \
--view \
'SELECT
name,
number
FROM
`bigquery-public-data.usa_names.usa_1910_current`
WHERE
gender = "M"
ORDER BY
number DESC;' \
myotherproject:mydataset.myview
API
É possível atualizar uma visualização chamando o método tables.patch
com um recurso de tabela que contenha uma property view
atualizada. Como o método tables.update
substitui todo o recurso da tabela, é melhor usar o método tables.patch
.
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.
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.
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.
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.
Como atualizar o prazo de validade de uma visualização
É possível configurar o tempo de expiração padrão da tabela no nível do conjunto de dados (o que afeta tanto as tabelas quanto as visualizações) ou definir o tempo de expiração de uma visualização quando ela é criada. Caso você faça isso durante a criação da visualização, a expiração padrão da tabela do conjunto de dados será ignorada. Se você não definir uma validade padrão de tabela no nível do conjunto de dados nem a validade durante a criação da visualização, esta nunca expirará e será necessário excluí-la manualmente.
É possível atualizar o prazo de validade de uma visualização a qualquer momento após criá-la. Para fazer isso:
- Use o console do Google Cloud
- Use uma instrução de linguagem de definição de dados (DDL, na sigla em inglês) escrita na sintaxe do GoogleSQL.
- Use o comando
bq update
da ferramenta de linha de comando bq - chame o
tables.patch
método de API; - Como usar bibliotecas de cliente
Para atualizar o prazo de validade de uma visualização:
Console
No painel de navegação, selecione a visualização.
Na página de detalhes da visualização, clique na guia Detalhes.
À direita de Informações da visualização, clique no ícone de edição (lápis).
Na caixa de diálogo Informações da visualização, em Validade da visualização, clique em Especificar data.
No seletor de data, insira a data e a hora de validade e clique em Ok.
Clique em Atualizar. O prazo de validade atualizado é exibido na seção Informações de visualização.
SQL
Use a
instrução DDL ALTER VIEW SET OPTIONS
:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
ALTER VIEW DATASET_ID.MY_VIEW SET OPTIONS ( expiration_timestamp = TIMESTAMP('NEW_TIMESTAMP'));
Substitua:
- DATASET_ID: o ID do conjunto de dados que contém a visualização.
- MY_VIEW: o nome da visualização que será atualizada.
- NEW_TIMESTAMP: um valor TIMESTAMP
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Use o comando bq update
com a sinalização --expiration
. Caso esteja atualizando uma visualização em um projeto diferente daquele 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.view
Substitua:
- integer: o ciclo de vida padrão (em segundos) da tabela. O valor mínimo é de 3.600 segundos (uma hora). O prazo de validade é avaliado para a hora atual mais o número inteiro.
- project_id: o ID do projeto
- dataset: o nome do conjunto de dados que contém a visualização que você está atualizando.
- view: o nome da visualização que você está atualizando.
Exemplos
Insira o seguinte comando para atualizar o prazo de validade de myview
em mydataset
para 5 dias (432.000 segundos). mydataset
está em seu projeto padrão.
bq update \
--expiration 432000 \
mydataset.myview
Insira o seguinte comando para atualizar o prazo de validade de myview
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.myview
API
Chame o método tables.patch
e use a property expirationTime
no recurso de tabela. Em razão do método tables.update
substituir todo o recurso da tabela, o método tables.patch
é preferível. Quando você usa a API REST, a validade da visualização é expressa em milissegundos.
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.
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.
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.
Python
A atualização da validade de uma visualização é o mesmo processo de atualizar a validade de uma tabela.
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.
Como atualizar a descrição de uma visualização
É possível atualizar a descrição de uma visualização. Para fazer isso:
- Use o console do Google Cloud
- Use uma instrução de linguagem de definição de dados (DDL, na sigla em inglês) escrita na sintaxe do GoogleSQL.
- Use o comando
bq update
da ferramenta de linha de comando bq - chame o
tables.patch
método de API; - Como usar bibliotecas de cliente
Para atualizar a descrição de uma visualização:
Console
Não é possível adicionar uma descrição durante a criação de uma visualização usando o console do Google Cloud. No entanto, depois de criá-la, é possível adicionar a descrição na página Detalhes.
No painel Explorador, expanda o projeto e o conjunto de dados e selecione a visualização.
Clique na guia Details.
Clique no ícone de lápis ao lado de Descrição.
Insira uma descrição na caixa de diálogo. Clique em Atualizar para salvar a nova descrição.
SQL
Use a
instrução DDL ALTER VIEW SET OPTIONS
:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
ALTER VIEW DATASET_ID.MY_VIEW SET OPTIONS ( description = 'NEW_DESCRIPTION');
Substitua:
- DATASET_ID: o ID do conjunto de dados que contém a visualização.
- MY_VIEW: o nome da visualização que será atualizada.
- NEW_DESCRIPTION: a descrição da nova visualização
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Use o comando bq update
com a sinalização --description
. Caso esteja atualizando uma visualização em um projeto diferente daquele 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.view
Substitua:
- description: o texto que descreve a visualização entre aspas
- project_id: o ID do projeto
- dataset: o nome do conjunto de dados que contém a visualização que você está atualizando.
- view: o nome da visualização que você está atualizando.
Exemplos
Use o seguinte comando para alterar a descrição de myview
em mydataset
para “Descrição da minha visualização.” mydataset
está em seu projeto padrão.
bq update \
--description "Description of myview" \
mydataset.myview
Use o seguinte comando para alterar a descrição de myview
em mydataset
para “Descrição de myview.” mydataset
está em myotherproject
, não no projeto padrão.
bq update \
--description "Description of myview" \
myotherproject:mydataset.myview
API
Chame o método tables.patch
e use a property description
para atualizar a descrição da visualização no recurso de tabela. Em razão do método tables.update
substituir todo o recurso da tabela, o método tables.patch
é preferível.
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.
Java
A atualização da descrição de uma visualização é o mesmo processo de atualizar a descrição de uma tabela.
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.
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.
Python
A atualização da descrição de uma visualização é o mesmo processo de atualizar a descrição de uma tabela.
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.
Copiar visualizações
É possível copiar uma visualização usando o console do Google Cloud.
Não é possível copiar uma visualização usando a ferramenta de linha de comando bq, a API REST ou as bibliotecas de cliente. No entanto, é possível copiar uma visualização no conjunto de dados de destino.
Permissões necessárias
Para copiar uma visualização no console do Google Cloud, você precisa de permissões do IAM nos conjuntos de dados de origem e destino.
No conjunto de dados de origem, você precisa de:
bigquery.tables.get
bigquery.tables.getData
(obrigatório para acessar as tabelas referenciadas pela consulta SQL da visualização)
No conjunto de dados de destino, você precisa de:
bigquery.tables.create
(permite criar uma cópia da visualização no conjunto de dados de destino)
Cada um dos seguintes papéis predefinidos do IAM inclui as permissões necessárias para copiar uma visualização:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Além disso, se você tiver a permissão bigquery.datasets.create
, é possível criar visualizações nos conjuntos de dados que você criou. Você também precisa ter acesso ao conjunto de dados de destino, a menos que o tenha criado.
Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Copie uma visualização.
Para copiar uma visualização:
No painel Explorador, expanda o projeto e o conjunto de dados e selecione a visualização.
No painel de detalhes, clique em Copiar visualização.
Na caixa de diálogo Copiar visualização:
- Na seção Origem, verifique se o Nome do projeto, o Nome do conjunto de dados e o Nome da tabela estão corretos.
Na seção Destino:
- Em Nome do projeto, escolha o projeto para o qual você está copiando a visualização.
- Em Nome do conjunto de dados, escolha o conjunto de dados que conterá a visualização copiada.
- Em Nome da tabela, insira o nome da visualização. É possível renomear a visualização inserindo um novo nome de visualização na caixa. Se você inserir um novo nome, ele terá que seguir as regras de nomenclatura da visualização.
Clique em Copiar.
Os limites para jobs de cópia são aplicáveis. Para mais informações, consulte Cotas e limites.
Renomeie uma visualização.
Atualmente, é possível renomear uma visualização apenas usando o console do Google Cloud para copiá-la. Para instruções sobre como renomear uma visualização ao copiá-la, consulte Como copiar uma visualização.
Não é possível alterar o nome de uma visualização existente usando a ferramenta de linha de comando bq, a API ou as bibliotecas de cliente. Em vez disso, é necessário recriar a visualização com o novo nome.
Excluir visualizações
Use estes métodos para excluir uma visualização:
- Use o console do Google Cloud
- Use o comando
bq rm
da ferramenta de linha de comando bq - chame o método da API
tables.delete
;
Atualmente, os métodos disponíveis permitem excluir apenas uma visualização por vez.
Para excluir automaticamente as visualizações após um período de tempo determinado, defina o prazo de validade padrão no nível do conjunto de dados ou ao criar a visualização.
Quando você exclui uma visualização autorizada, pode levar até 24 horas para remover a visualização excluída da lista de visualizações autorizadas do conjunto de dados de origem.
A exclusão de uma visualização também exclui todas as permissões associadas a ela. Ao recriar uma visualização excluída, você também precisa reconfigurar manualmente as permissões de acesso anteriormente associadas a ela.
Permissões necessárias
Para excluir uma visualização, você precisa das seguintes permissões do IAM:
bigquery.tables.delete
Cada um dos papéis predefinidos do IAM a seguir inclui as permissões necessárias para excluir uma tabela:
roles/bigquery.dataOwner
roles/bigquery.dataEditor
roles/bigquery.admin
Além disso, se você tiver a permissão bigquery.datasets.create
, é possível criar visualizações nos conjuntos de dados que criar.
Para mais informações sobre papéis e permissões do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Exclua uma visualização
Para excluir uma visualização:
Console
No Console do Google Cloud, acesse a página do BigQuery.
No painel Explorador, expanda o projeto e o conjunto de dados e selecione a visualização.
No painel de detalhes, clique em Excluir visualização.
Digite
"delete"
na caixa de diálogo e clique em Excluir para confirmar.
SQL
Use a
instrução DDL DROP VIEW
:
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
DROP VIEW mydataset.myview;
Substitua:
- DATASET_ID: o ID do conjunto de dados que contém a visualização.
- MY_VIEW: o nome da visualização que será atualizada.
- NEW_DESCRIPTION: a descrição da nova visualização
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Use o comando bq rm
com a sinalização --table
(ou atalho -t
) para excluir uma visualização. Quando você usa a ferramenta de linha de comando bq para remover uma visualização, é necessário confirmar a ação.
É possível usar a sinalização --force
(ou atalho -f
) para pular a confirmação.
Se a visualização 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.view
Em que:
- project_id é o ID do projeto;
- dataset é o nome do conjunto de dados que contém a tabela;
- view é o nome da visualização que você está excluindo.
Exemplos:
Você pode usar a ferramenta de linha de comando bq para executar comandos bq
.
No Console do Google Cloud, ative o Cloud Shell.
Digite o seguinte comando para excluir myview
de mydataset
. mydataset
está em seu projeto padrão.
bq rm -t mydataset.myview
Digite o seguinte comando para excluir myview
de mydataset
. mydataset
está em myotherproject
, e não no seu projeto padrão.
bq rm -t myotherproject:mydataset.myview
Digite o seguinte comando para excluir myview
de mydataset
. mydataset
está em seu projeto padrão. O comando usa o atalho -f
para ignorar a confirmação.
bq rm -f -t mydataset.myview
API
Chame o método de API tables.delete
e especifique a visualização a ser excluída usando o parâmetro tableId
.
C#
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.
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.
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.
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.
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.
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.
Ruby
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.
Restaurar uma visualização
Não é possível restaurar uma visualização excluída diretamente, mas há soluções alternativas para determinados cenários:
- Se uma visualização for excluída porque o conjunto de dados pai foi excluído, você poderá desfazer a exclusão do conjunto de dados para recuperar a visualização.
- Se uma visualização for excluída explicitamente, você poderá recriar a visualização usando a última consulta usada para criar ou atualizar a visualização. É possível encontrar a definição de consulta da operação de criação ou atualização da visualização nos registros.
Segurança das visualizações
Para controlar o acesso a visualizações no BigQuery, consulte Visualizações autorizadas.
A seguir
- Para informações sobre como criar visualizações, consulte este link.
- Para informações sobre a criação de uma visualização autorizada, consulte Como criar visualizações autorizadas.
- Para informações sobre como receber metadados de visualização, consulte Como receber informações sobre visualizações.