Haz una lista de los conjuntos de datos

En este documento, se describe cómo enumerar conjuntos de datos en BigQuery.

Puedes enumerar conjuntos de datos de las siguientes formas:

  • Usa GCP Console o la IU web de BigQuery clásica.
  • Usa el comando bq ls de CLI.
  • Llama al método datasets.list de la API.

Permisos necesarios

Cuando enumeras conjuntos de datos, solo se muestran los conjuntos para los que tienes permisos bigquery.datasets.get. Esto incluye cualquier conjunto de datos para el que obtuviste acceso de READER a nivel de conjunto de datos. Todas las funciones IAM predeterminadas a nivel de proyecto incluyen los permisos bigquery.datasets.get, excepto bigquery.jobUser. Si se te asigna una función de IAM predefinida a nivel de proyecto que no es bigquery.jobUser, puedes enumerar todos los conjuntos de datos del proyecto.

Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Control de acceso. A fin de obtener más información sobre las funciones a nivel de conjunto de datos, consulta Funciones básicas para conjuntos de datos.

Enumera los conjuntos de datos en un proyecto

Para enumerar los conjuntos de datos en un proyecto, haz lo siguiente:

Console

Los conjuntos de datos se enumeran por proyecto en el panel Recursos de la IU web.

IU clásica

En el panel de navegación de la IU web, los conjuntos de datos se enumeran por proyecto.

Línea de comandos

Ejecuta el comando bq ls para enumerar los conjuntos de datos organizados por ID de conjunto de datos. La marca --format puede usarse para controlar el resultado. Si enumeras los conjuntos de datos en un proyecto que no es el predeterminado, agrega la marca --project_id al comando.

Para enumerar todos los conjuntos de datos en un proyecto, incluidos los conjuntos de datos anónimos, usa la marca --all o el acceso directo -a.

Para enumerar todos los conjuntos de datos en un proyecto, sin incluir los conjuntos de datos anónimos, usa la marca --datasets o el acceso directo -d. Esta marca es opcional. Como configuración predeterminada, no se enumeran los conjuntos de datos anónimos.

Las marcas adicionales incluyen las siguientes:

  • --filter: Enumera los conjuntos de datos que coinciden con la expresión del filtro. Usa una lista separada por espacios de claves de etiquetas y valores en el formato labels.[KEY]:[VALUE]. Para obtener más información sobre cómo filtrar conjuntos de datos, consulta Agrega y usa etiquetas.
  • --max_results o -n: Un número entero que indica la cantidad máxima de resultados. El valor predeterminado es 50.

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

Donde:

  • [KEY]:[VALUE] es un valor y clave de etiqueta.
  • [INTEGER] es un número entero que representa la cantidad de conjuntos de datos que se van a enumerar.
  • [PROJECT_ID] es el nombre de tu proyecto.

Ejemplos:

Ingresa el siguiente comando para enumerar los conjuntos de datos en tu proyecto predeterminado. --format se configura en descriptivo para mostrar una tabla con formato básico.

bq ls --format=pretty

Ingresa el siguiente comando para enumerar los conjuntos de datos en myotherproject. --format se configura en prettyjson para mostrar resultados detallados con formato JSON.

bq ls --format=prettyjson --project_id myotherproject

Ingresa el siguiente comando para enumerar todos los conjuntos de datos, incluso los conjuntos de datos anónimos, en tu proyecto predeterminado. En el resultado, los conjuntos de datos anónimos comienzan con un guion bajo.

bq ls -a

Ingresa el siguiente comando para mostrar más que el resultado predeterminado de 50 conjuntos de datos de tu proyecto predeterminado.

bq ls --max_results 60

Ingresa el siguiente comando para enumerar los conjuntos de datos en tu proyecto predeterminado con la etiqueta org:dev.

ba ls --filter labels.org:dev

API

Para enumerar los conjuntos de datos que usan la API, llama al método datasets.list de la API.

C#

Antes de probar esta muestra, sigue las instrucciones de configuración para C# que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de 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 probar esta muestra, sigue las instrucciones de configuración para Go de la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de 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 probar esta muestra, sigue las instrucciones de configuración de Java que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para 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 probar esta muestra, sigue las instrucciones de configuración para Node.js que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para 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 probar esta muestra, sigue las instrucciones de configuración de PHP que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para 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 probar esta muestra, sigue las instrucciones de configuración para Python que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para 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 probar esta muestra, sigue las instrucciones de configuración para Ruby que se encuentran en la Guía de inicio rápido de BigQuery con bibliotecas cliente. A fin de obtener más información, consulta la documentación de referencia de la API de BigQuery para 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

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.