Como gerenciar visualizações

Neste documento, você aprende a gerenciar visualizações no BigQuery. Gerencie as visualizações do BigQuery das seguintes maneiras:

Como copiar uma visualização

Atualmente, você pode copiar uma visualização apenas usando o Console do GCP.

Não é possível copiar uma visualização usando a IU da Web clássica, a CLI, a API REST ou as bibliotecas de cliente. Em vez disso, é necessário recriar a visualização no conjunto de dados de destino. Para ajudá-lo a recriar a visualização, você pode usar a CLI ou a IU da Web clássica para copiar a consulta SQL da visualização.

Para copiar uma visualização:

Console

  1. No painel de navegação da IU, selecione a visualização.

  2. No lado direito da janela, clique em Copiar visualização.

  3. 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.

      Copiar caixa de diálogo de visualização

    • Clique em Copiar.

IU clássica

A IU da Web clássica não é compatível com a cópia de uma visualização. Em vez disso, é necessário recriar a visualização no conjunto de dados de destino. Para ajudá-lo a recriar a visualização, você pode copiar a consulta SQL usada para definir a visualização.

Para copiar a consulta SQL que define uma exibição:

  1. No painel de navegação da IU, selecione a visualização.

  2. No painel Ver detalhes, clique em Detalhes.

  3. Copie o texto na caixa Consulta.

CLI

A ferramenta de linha de comando bq não é compatível com a cópia de uma visualização. Em vez disso, é necessário recriar a visualização no conjunto de dados de destino. Para ajudá-lo a recriar a visualização, você pode copiar a consulta SQL usada para definir a visualização.

Para copiar a consulta SQL que define uma visualização, emita o comando bq show. A sinalização --format pode ser usada para controlar a saída. Se você estiver recebendo informações sobre uma visualização em um projeto diferente do projeto padrão, adicione o ID do projeto ao conjunto de dados no seguinte formato: [PROJECT_ID]:[DATASET]. Para gravar as propriedades de visualização em um arquivo, adicione > [PATH_TO_FILE] ao comando.

bq show --format=prettyjson [PROJECT_ID]:[DATASET].[VIEW] > [PATH_TO_FILE]

Em que:

  • [PROJECT_ID] é o ID do projeto;
  • [DATASET] é o nome do conjunto de dados;
  • [VIEW] é o nome da visualização;
  • [PATH_TO_FILE] é o caminho para o arquivo de saída na máquina local.

Exemplos:

Digite o comando a seguir para exibir informações sobre myview em mydataset. mydataset está no projeto padrão.

bq show --format=prettyjson mydataset.myview

Digite o comando a seguir para exibir informações sobre myview em mydataset. mydataset está em myotherproject, e não no projeto padrão. As propriedades da visualização são gravadas em um arquivo local (/tmp/myview.json).

bq show --format=prettyjson myotherproject:mydataset.myview > /tmp/myview.json

API

A API REST não é compatível com a cópia de uma visualização. Em vez disso, é necessário recriar a visualização no conjunto de dados de destino. Para informações sobre como criar uma visualização usando a API REST, consulte Como criar uma visualização.

Como renomear uma visualização

Atualmente, você pode renomear uma visualização somente quando usa o Console do GCP 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 IU da Web clássica, a CLI, a API ou as bibliotecas de cliente. Em vez disso, é necessário recriar a visualização com o novo nome.

Como excluir visualizações

Use estes métodos para excluir uma visualização:

  • Use o Console do GCP ou a IU da Web clássica do BigQuery.
  • Use o comando bq rm da ferramenta de linha de comando.
  • Chame o método tables.delete da API

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 expiração padrão no nível do conjunto de dados ou ao criar a visualização.

Permissões necessárias

Para excluir uma visualização, é necessário ter as mesmas permissões necessárias para a exclusão de uma tabela. É preciso ter acesso de OWNER no nível do conjunto de dados ou ter um papel de IAM para envolvidos no projeto atribuído a você que inclua as permissões bigquery.tables.delete. Os papéis predefinidos do IAM para envolvidos no projeto a seguir incluem permissões bigquery.tables.delete:

Os usuários com um papel predefinido para envolvidos no projeto podem excluir visualizações em qualquer conjunto de dados no projeto. Os usuários com permissões OWNER no nível do conjunto de dados podem excluir visualizações somente nesse conjunto de dados.

Além disso, como o papel bigquery.user tem permissões bigquery.datasets.create, um usuário com papel bigquery.user pode excluir visualizações em qualquer conjunto de dados criado por ele. Quando um usuário com o papel bigquery.user cria um conjunto de dados, ele recebe acesso OWNER ao conjunto. Com o acesso OWNER, o usuário tem controle total sobre o conjunto de dados e todas as tabelas e visualizações nele contidas.

Para mais informações sobre os papéis e as permissões do IAM no BigQuery, consulte Controle de acesso. Para mais informações sobre os papéis para conjuntos de dados, consulte Papéis primários para conjuntos de dados.

Como excluir uma visualização

Para excluir uma visualização:

IU clássica

  1. Selecione sua visualização no painel Recursos. Clique em Excluir visualização no lado direito da janela.

  2. Insira o nome da visualização na caixa de diálogo e clique em Excluir para confirmar.

IU clássica

  1. Clique no ícone de seta para baixo ícone de seta para baixo ao lado do nome da visualização na barra de navegação e clique em Excluir visualização.

  2. Quando solicitado, clique em OK para confirmar.

Linha de comando

Use o comando bq rm com a sinalização --table (ou o atalho -t) para excluir uma visualização. Quando você usa a CLI para remover uma visualização, precisa confirmar a ação. Use a sinalização --force (ou o atalho -f) para ignorar a confirmação.

Se a visualização estiver em um conjunto de dados em um projeto diferente do padrão, adicione o código 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 código 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:

Digite o comando a seguir para excluir myview de mydataset. mydataset está no projeto padrão.

bq rm -t mydataset.myview

Digite o comando a seguir para excluir myview de mydataset. mydataset está em myotherproject, e não no projeto padrão.

bq rm -t myotherproject:mydataset.myview

Digite o comando a seguir para excluir myview de mydataset. mydataset está no 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 tables.delete da API 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 do BigQuery para C#.

using Google.Cloud.BigQuery.V2;
using System;

public class BigQueryDeleteTable
{
    public void DeleteTable(
        string projectId = "your-project-id",
        string datasetId = "your_dataset_id",
        string tableId = "your_table_id"
    )
    {
        BigQueryClient client = BigQueryClient.Create(projectId);
        client.DeleteTable(datasetId, tableId);
        Console.WriteLine($"Table {tableId} deleted.");
    }
}

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 do BigQuery para Go.

// To run this sample, you will need to create (or reuse) a context and
// an instance of the bigquery client.  For example:
// import "cloud.google.com/go/bigquery"
// ctx := context.Background()
// client, err := bigquery.NewClient(ctx, "your-project-id")
table := client.Dataset(datasetID).Table(tableID)
if err := table.Delete(ctx); err != nil {
	return err
}

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 Java.

TableId tableId = TableId.of(projectId, datasetName, tableName);
boolean deleted = bigquery.delete(tableId);
if (deleted) {
  // the table was deleted
} else {
  // the table was not found
}

Node.js

Antes de testar esta amostra, siga as instruções de configuração do Node.js em 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 do BigQuery para Node.js.

// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');

async function deleteTable() {
  // Deletes "my_table" from "my_dataset".

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = "my_dataset";
  // const tableId = "my_table";

  // Create a client
  const bigqueryClient = new BigQuery();

  // Delete the table
  await bigqueryClient
    .dataset(datasetId)
    .table(tableId)
    .delete();

  console.log(`Table ${tableId} deleted.`);
}
deleteTable();

PHP

Antes de testar esta amostra, siga as instruções de configuração do PHP em 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.

use Google\Cloud\BigQuery\BigQueryClient;

/** Uncomment and populate these variables in your code */
// $projectId = 'The Google project ID';
// $datasetId = 'The BigQuery dataset ID';
// $tableId = 'The BigQuery table ID';

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$dataset = $bigQuery->dataset($datasetId);
$table = $dataset->table($tableId);
$table->delete();
printf('Deleted table %s.%s' . PHP_EOL, $datasetId, $tableId);

Python

Antes de testar esta amostra, siga as instruções de configuração do Python em 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 Python (em inglês).

from google.cloud import bigquery

# TODO(developer): Construct a BigQuery client object.
# client = bigquery.Client()

# TODO(developer): Set table_id to the ID of the table to fetch.
# table_id = 'your-project.your_dataset.your_table'

# If the table does not exist, delete_table raises
# google.api_core.exceptions.NotFound unless not_found_ok is True
client.delete_table(table_id, not_found_ok=True)
print("Deleted table '{}'.".format(table_id))

Ruby

Antes de testar esta amostra, siga as instruções de configuração do Ruby em 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 (em inglês).

require "google/cloud/bigquery"

def delete_table dataset_id = "my_dataset_id", table_id = "my_table_id"
  bigquery = Google::Cloud::Bigquery.new
  dataset  = bigquery.dataset dataset_id
  table    = dataset.table table_id

  table.delete

  puts "Table #{table_id} deleted."
end

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.