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
  • Use as bibliotecas de cliente

Permissões exigidas

Quando você lista conjuntos de dados, somente aqueles para os quais você tem permissões bigquery.datasets.get são retornados. Os papéis predefinidos do Cloud IAM a seguir incluem permissões bigquery.datasets.get:

  • bigquery.user
  • bigquery.metadataViewer
  • bigquery.dataViewer
  • bigquery.dataOwner
  • bigquery.dataEditor
  • bigquery.admin

Para mais informações sobre papéis e permissões do Cloud IAM no BigQuery, consulte Controle de acesso.

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.

IU clássica

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

CLI

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 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 separada por espaço de chaves e valores de rótulo no formato 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 número 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 número inteiro que representa o número de conjuntos de dados a serem listados.
  • project_id é o nome do projeto.

Exemplos:

Insira o comando a seguir para listar conjuntos de dados no projeto padrão. O -- format é definido como pretty para retornar uma tabela formatada básica.

bq ls --format=pretty

Insira o comando a seguir para listar conjuntos de dados em myotherproject. O --format é definido como prettyjson para retornar resultados detalhados no formato JSON.

bq ls --format=prettyjson --project_id myotherproject

Insira o comando a seguir para listar todos os conjuntos de dados, incluindo conjuntos de dados anônimos no 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

Insira o comando a seguir para listar conjuntos de dados no 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 de API 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 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 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 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 Node.js.

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

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

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

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 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 (em inglês).

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.