Como listar conjuntos de dados

Neste documento, descrevemos como listar conjuntos de dados no BigQuery.

Para listar conjuntos de dados:

  • use o Console do GCP ou a IU clássica da Web do BigQuery;
  • use o comando bq ls da CLI;
  • chame o método de API datasets.list.

Permissões necessárias

Quando você lista conjuntos de dados, somente aqueles para os quais você tem permissões bigquery.datasets.get são retornados. Isso inclui qualquer conjunto de dados para que você tenha recebido acesso READER no nível do conjunto de dados. Todos os papéis do IAM predefinidos no projeto incluem permissões bigquery.datasets.get, exceto bigquery.jobUser. Se você tiver um papel do IAM predefinido para envolvidos no projeto diferente de bigquery.jobUser, será possível listar todos os conjuntos de dados no projeto.

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 no nível do conjunto de dados, consulte Papéis primários para conjuntos de dados.

Como listar conjuntos de dados em um projeto

Para listar os conjuntos de dados em um projeto, faça o seguinte:

Console

Os conjuntos de dados são listados por projeto no painel Recursos da IU da Web.

IU clássica

Os conjuntos de dados são listados por projeto no painel de navegação da IU da Web.

Linha de comando

Emita o comando bq ls para listar conjuntos de dados por código. A sinalização --format pode ser usada para controlar a saída. Se você listar o conjunto de dados em um projeto diferente do projeto padrão, adicione a sinalização --project_id ao comando.

Para listar todos os conjuntos de dados em um projeto, incluindo conjuntos de dados anônimos, use a sinalização --all ou o atalho -a.

Para listar todos os conjuntos de dados em um projeto, exceto os conjuntos anônimos, use a sinalização --datasets ou o atalho -d. Essa sinalização é opcional. Por padrão, os conjuntos de dados anônimos não são listados.

Veja a seguir algumas outras sinalizações:

  • --filter: lista os conjuntos de dados que correspondem à expressão do filtro. Use uma lista de chaves e valores de rótulo separados por espaço no formulário labels.[KEY]:[VALUE]. Para mais informações sobre como filtrar conjuntos de dados usando rótulos, consulte Como adicionar e usar rótulos.
  • --max_results ou -n: um valor inteiro que indica o número máximo de resultados. O valor padrão é 50.

    bq ls --filter labels.[KEY]:[VALUE] --max_results [INTEGER] --format=prettyjson --project_id [PROJECT_ID]
    

Em que:

  • [KEY]:[VALUE] é uma chave e um valor de rótulo;
  • [INTEGER] é um valor inteiro que representa o número de conjuntos de dados a serem listados;
  • [PROJECT_ID] é o nome do projeto

Exemplos:

Digite o seguinte comando para listar os conjuntos de dados no seu projeto padrão. O --format está definido como "pretty" para retornar uma tabela formatada básica.

bq ls --format=pretty

Digite o seguinte comando para listar os conjuntos de dados no myotherproject. O --format está configurado como prettyjson para retornar resultados detalhados no formato JSON.

bq ls --format=prettyjson --project_id myotherproject

Digite o seguinte comando para listar todos os conjuntos de dados, incluindo conjuntos de dados anônimos no seu projeto padrão. Na saída, os conjuntos de dados anônimos começam com um sublinhado.

bq ls -a

Digite o seguinte comando para retornar mais de 50 conjuntos de dados do seu projeto, que é a saída padrão.

bq ls --max_results 60

Digite o seguinte comando para listar os conjuntos de dados no seu projeto padrão com o rótulo org:dev.

ba ls --filter labels.org:dev

API

Para listar conjuntos de dados usando a API, chame o método datasets.list.

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;
using System.Collections.Generic;
using System.Linq;

public class BigQueryListDatasets
{
    public void ListDatasets(
        string projectId = "your-project-id"
    )
    {
        BigQueryClient client = BigQueryClient.Create(projectId);
        // Retrieve list of datasets in project
        List<BigQueryDataset> datasets = client.ListDatasets().ToList();
        // Display the results
        if (datasets.Count > 0)
        {
            Console.WriteLine($"Datasets in project {projectId}:");
            foreach (var dataset in datasets)
            {
                Console.WriteLine($"\t{dataset.Reference.DatasetId}");
            }
        }
        else
        {
            Console.WriteLine($"{projectId} does not contain any datasets.");
        }
    }
}

Go

Antes de testar esta 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 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")
it := client.Datasets(ctx)
for {
	dataset, err := it.Next()
	if err == iterator.Done {
		break
	}
	fmt.Println(dataset.DatasetID)
}

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.

// List datasets in the default project
Page<Dataset> datasets = bigquery.listDatasets(DatasetListOption.pageSize(100));
for (Dataset dataset : datasets.iterateAll()) {
  // do something with the dataset
}
// List datasets in a specified project
Page<Dataset> datasets = bigquery.listDatasets(projectId, DatasetListOption.pageSize(100));
for (Dataset dataset : datasets.iterateAll()) {
  // do something with the dataset
}

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 BigQuery Node.js.

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

async function listDatasets() {
  // Lists all datasets in current GCP project.

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

  // Lists all datasets in the specified project
  const [datasets] = await bigqueryClient.getDatasets();
  console.log('Datasets:');
  datasets.forEach(dataset => console.log(dataset.id));
}
listDatasets();

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';

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$datasets = $bigQuery->datasets();
foreach ($datasets as $dataset) {
    print($dataset->id() . PHP_EOL);
}

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.

from google.cloud import bigquery

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

datasets = list(client.list_datasets())
project = client.project

if datasets:
    print("Datasets in project {}:".format(project))
    for dataset in datasets:  # API request(s)
        print("\t{}".format(dataset.dataset_id))
else:
    print("{} project does not contain any datasets.".format(project))

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.

require "google/cloud/bigquery"

def list_datasets project_id = "your-project-id"
  bigquery = Google::Cloud::Bigquery.new project: project_id

  puts "Datasets in project #{project_id}:"
  bigquery.datasets.each do |dataset|
    puts "\t#{dataset.dataset_id}"
  end
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.