Crea conjuntos de datos

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

Puedes crear conjuntos de datos de las siguientes maneras:

  • Usa la consola de Google Cloud.
  • Usa una consulta de SQL
  • Usa el comando bq mk en la herramienta de línea de comandos de bq.
  • Mediante una llamada al método de la API datasets.insert
  • Usa las bibliotecas cliente.
  • Copia un conjunto de datos existente.

Si deseas ver los pasos para copiar un conjunto de datos, incluso entre regiones, consulta Copia conjuntos de datos.

En este documento, se describe cómo trabajar con conjuntos de datos normales que almacenan datos en BigQuery. Para aprender a trabajar con conjuntos de datos externos de Spanner, consulta Cómo crear conjuntos de datos externos de Spanner. Para obtener información sobre cómo trabajar con conjuntos de datos federados de AWS Glue, consulta Crea conjuntos de datos federados de AWS Glue.

Para obtener información sobre cómo consultar tablas en un conjunto de datos públicos, consulta Consulta un conjunto de datos públicos con la consola de Google Cloud.

Limitaciones de los conjuntos de datos

Los conjuntos de datos de BigQuery están sujetos a las limitaciones siguientes:

  • La ubicación del conjunto de datos solo se puede configurar en el momento de la creación. Una vez que se crea un conjunto de datos, su ubicación no se puede cambiar.
  • Todas las tablas a las que se hace referencia en una consulta deben almacenarse en conjuntos de datos en la misma ubicación.
  • Los conjuntos de datos externos no admiten el vencimiento de tablas, las réplicas, el viaje en el tiempo, la combinación predeterminada, el modo de redondeo predeterminado ni la opción para habilitar o inhabilitar el nombre de las tablas que no distingue mayúsculas de minúsculas.

  • Cuando copias una tabla, los conjuntos de datos que contienen la tabla de origen y la de destino deben estar en la misma ubicación.

  • Los nombres de los conjuntos de datos deben ser únicos para cada proyecto.

  • Si cambias el modelo de facturación de almacenamiento de un conjunto de datos, debes esperar 14 días antes de que puedas volver a cambiarlo.

  • No puedes inscribir un conjunto de datos en la facturación de almacenamiento físico si tienes compromisos de ranura de tarifa plana heredados existentes en la misma región que el conjunto de datos.

Antes de comenzar

Otorga roles de Identity and Access Management (IAM) que les brindan a los usuarios los permisos necesarios para hacer cada tarea de este documento.

Permisos necesarios

Para crear una vista, necesitas el permiso bigquery.datasets.create de IAM.

Cada una de las siguientes funciones predefinidas de IAM incluye los permisos que necesitas para crear una vista:

  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.user
  • roles/bigquery.admin

Para obtener más información sobre las funciones de IAM en BigQuery, consulta Funciones y permisos predefinidos.

Asigna nombres a los conjuntos de datos

Cuando creas un conjunto de datos en BigQuery, su nombre debe ser único para cada proyecto. El nombre del conjunto de datos puede contener lo siguiente:

  • Hasta 1,024 caracteres
  • Letras (mayúsculas o minúsculas), números y guiones bajos

Los nombres de conjuntos de datos distinguen mayúsculas de minúsculas de forma predeterminada. mydataset y MyDataset pueden coexistir en el mismo proyecto, a menos que uno de ellos tenga la distinción entre mayúsculas y minúsculas desactivada.

Los nombres de los conjuntos de datos no pueden contener espacios o caracteres especiales como -, &, @ o %.

Conjuntos de datos ocultos

Un conjunto de datos oculto es un conjunto de datos cuyo nombre comienza con un guion bajo. Puedes consultar tablas y vistas en conjuntos de datos ocultos de la misma manera que lo harías con cualquier otro conjunto de datos. Los conjuntos de datos ocultos tienen las siguientes restricciones:

  • Están ocultos en el panel Explorador en la consola de Google Cloud.
  • No aparecen en ninguna vista INFORMATION_SCHEMA.
  • No se pueden usar con conjuntos de datos vinculados.
  • No aparecen en Data Catalog.

Crea conjuntos de datos

Sigue estos pasos para crear un conjunto de datos:

Console

  1. Abre la página BigQuery en la consola de Google Cloud.

    Ir a la página de BigQuery

  2. En el panel Explorador, selecciona el proyecto en el que deseas crear el conjunto de datos.

  3. Expande la opción Acciones y haz clic en Crear conjunto de datos:

    Usa el menú de acciones del proyecto para crear un conjunto de datos.

  4. En la página Crear un conjunto de datos:

    • En ID de conjunto de datos, ingresa un nombre único para el conjunto de datos.
    • En Tipo de ubicación, elige una ubicación geográfica para el conjunto de datos (opcional). Después de crear un conjunto de datos, la ubicación no se puede cambiar.

    • Opcional: Si deseas que las tablas en este conjunto de datos caduquen, selecciona Habilitar el vencimiento de la tabla y, luego, especifica la antigüedad máxima predeterminada de la tabla en días.

    • Opcional: Si deseas usar una clave de encriptación administrada por el cliente (CMEK), expande Opciones avanzadas y, luego, selecciona Clave de encriptación administrada por el cliente (CMEK).

    • Opcional: Si deseas usar nombres de tablas que no distinguen mayúsculas de minúsculas, expande Opciones avanzadas y, luego, selecciona Habilitar nombres de tablas que no distinguen entre mayúsculas y minúsculas.

    • Si deseas usar una intercalación predeterminada, expande Opciones avanzadas, selecciona Habilitar intercalación predeterminada y, luego, Intercalación predeterminada (opcional).

    • Opcional: Si deseas usar un modo de redondeo predeterminado, expande Opciones avanzadas y, luego, selecciona el modo de redondeo predeterminado que deseas usar.

    • Opcional: Si deseas habilitar el modelo de facturación de almacenamiento físico, expande Opciones avanzadas, luego selecciona Habilitar el modelo de facturación de almacenamiento físico.

      Cuando cambias el modelo de facturación de un conjunto de datos, el cambio tarda 24 horas en aplicarse.

      Una vez que cambies el modelo de facturación de almacenamiento de un conjunto de datos, debes esperar 14 días antes de poder volver a cambiar el modelo de facturación de almacenamiento.

    • Opcional: Si deseas configurar el período de viaje en el tiempo del conjunto de datos, expande Opciones avanzadas y, luego, selecciona Período de viaje en el tiempo que usar.

    • Haz clic en Crear conjunto de datos.

SQL

Usa la sentencia CREATE SCHEMA.

Para crear un conjunto de datos en un proyecto que no sea el predeterminado, agrega el ID del proyecto al ID del conjunto de datos en el siguiente formato: PROJECT_ID.DATASET_ID.

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente oración:

    CREATE SCHEMA PROJECT_ID.DATASET_ID
      OPTIONS (
        default_kms_key_name = 'KMS_KEY_NAME',
        default_partition_expiration_days = PARTITION_EXPIRATION,
        default_table_expiration_days = TABLE_EXPIRATION,
        description = 'DESCRIPTION',
        labels = [('KEY_1','VALUE_1'),('KEY_2','VALUE_2')],
        location = 'LOCATION',
        max_time_travel_hours = HOURS,
        storage_billing_model = BILLING_MODEL);

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID de tu proyecto
    • DATASET_ID: es el ID del conjunto de datos que crearás
    • KMS_KEY_NAME: el nombre de la clave predeterminada de Cloud Key Management Service que se usa para proteger las tablas recién creadas en este conjunto de datos, a menos que se proporcione una clave diferente en el momento de la creación. No puedes crear una tabla encriptada por Google en un conjunto de datos con este parámetro de configuración.
    • PARTITION_EXPIRATION: la duración predeterminada (en días) para las particiones en tablas particionadas recién creadas. La expiración de partición predeterminada no tiene valor mínimo. El vencimiento se evalúa según la fecha de la partición más el valor de número entero. Cualquier partición creada en una tabla particionada en el conjunto de datos se borra después de PARTITION_EXPIRATION días a partir de la fecha de la partición. Si proporcionas la opción time_partitioning_expiration cuando creas o actualizas una tabla particionada, el vencimiento de la partición a nivel de la tabla tiene prioridad sobre el vencimiento predeterminado de la partición a nivel del conjunto de datos.
    • TABLE_EXPIRATION: la duración predeterminada (en días) de las tablas recién creadas. El valor mínimo es 0.042 días (una hora). La hora de vencimiento se evalúa según la hora actual más el número entero. Cualquier tabla creada en el conjunto de datos se borra en TABLE_EXPIRATION días después de su hora de creación. Este valor se aplica si no estableces un vencimiento de la tabla cuando la creas.
    • DESCRIPTION: una descripción del conjunto de datos
    • KEY_1:VALUE_1: el par clave-valor que deseas establecer como la primera etiqueta de este conjunto de datos.
    • KEY_2:VALUE_2: el par clave-valor que deseas establecer como la segunda etiqueta
    • LOCATION: la ubicación del conjunto de datos. Después de crear un conjunto de datos, la ubicación no se puede cambiar.
    • HOURS la duración en horas del período del viaje para el conjunto de datos nuevo. El valor HOURS debe ser un número entero expresado en múltiplos de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 días) y 168 (7 días). Si no se especifica esta opción, 168 horas es el valor predeterminado.
    • BILLING_MODEL: Establece el modelo de facturación de almacenamiento para el conjunto de datos. Establece el valor BILLING_MODEL en PHYSICAL para usar bytes físicos cuando se calculan los cambios de almacenamiento, o en LOGICAL para usar bytes lógicos. LOGICAL es la configuración predeterminada.

      Cuando cambias el modelo de facturación de un conjunto de datos, el cambio tarda 24 horas en aplicarse.

      Una vez que cambies el modelo de facturación de almacenamiento de un conjunto de datos, debes esperar 14 días antes de poder volver a cambiar el modelo de facturación de almacenamiento.

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Para crear un conjunto de datos nuevo, usa el comando bq mk con la marca --location. Para obtener una lista completa de los parámetros posibles, consulta la referencia del comando bq mk --dataset.

Para crear un conjunto de datos en un proyecto que no sea el predeterminado, agrega el ID del proyecto al nombre del conjunto de datos en el siguiente formato: PROJECT_ID:DATASET_ID.

bq --location=LOCATION mk \
    --dataset \
    --default_kms_key=KMS_KEY_NAME \
    --default_partition_expiration=PARTITION_EXPIRATION \
    --default_table_expiration=TABLE_EXPIRATION \
    --description="DESCRIPTION" \
    --label=KEY_1:VALUE_1 \
    --label=KEY_2:VALUE_2 \
    --add_tags=KEY_3:VALUE_3[,...] \
    --max_time_travel_hours=HOURS \
    --storage_billing_model=BILLING_MODEL \
    PROJECT_ID:DATASET_ID

Reemplaza lo siguiente:

  • LOCATION: la ubicación del conjunto de datos. Después de crear un conjunto de datos, la ubicación no se puede cambiar. Puedes configurar un valor predeterminado para la ubicación mediante el archivo .bigqueryrc.

  • KMS_KEY_NAME: el nombre de la clave predeterminada de Cloud Key Management Service que se usa para proteger las tablas recién creadas en este conjunto de datos, a menos que se proporcione una clave diferente en el momento de la creación. No puedes crear una tabla encriptada por Google en un conjunto de datos con este parámetro de configuración.

  • PARTITION_EXPIRATION: la duración predeterminada (en segundos) para las particiones en tablas particionadas recién creadas. La expiración de partición predeterminada no tiene valor mínimo. El tiempo de vencimiento se evalúa según la fecha de la partición más el valor de número entero. Cualquier partición creada en una tabla particionada en el conjunto de datos se borra después de PARTITION_EXPIRATION segundos a partir de la fecha de la partición. Si suministras la marca --time_partitioning_expiration cuando creas o actualizas una tabla particionada, el vencimiento de la partición a nivel de la tabla tiene prioridad sobre el vencimiento predeterminado de la partición a nivel del conjunto de datos.

  • TABLE_EXPIRATION: la duración predeterminada (en segundos) para las tablas recién creadas. El valor mínimo es 3,600 segundos (una hora). El tiempo de caducidad se evalúa según el tiempo actual más el valor del número entero. Cualquier tabla creada en el conjunto de datos se borra en TABLE_EXPIRATION segundos después de su hora de creación. Este valor se aplica si no estableces el vencimiento de la tabla cuando creas la tabla.

  • DESCRIPTION: una descripción del conjunto de datos

  • KEY_1:VALUE_1: el par clave-valor que deseas establecer como la primera etiqueta en este conjunto de datos, y KEY_2:VALUE_2 es el par clave-valor que deseas establecer como segunda etiqueta.

  • KEY_3:VALUE_3: El par clave-valor que deseas establecer como etiqueta en el conjunto de datos. Agrega varias etiquetas bajo la misma marca con comas entre pares clave-valor.

  • HOURS la duración en horas del período del viaje para el conjunto de datos nuevo. El valor HOURS debe ser un número entero expresado en múltiplos de 24 (48, 72, 96, 120, 144, 168) entre 48 (2 días) y 168 (7 días). Si no se especifica esta opción, 168 horas es el valor predeterminado.

  • BILLING_MODEL: establece el modelo de facturación de almacenamiento para el conjunto de datos. Establece el valor BILLING_MODEL en PHYSICAL para usar bytes físicos cuando se calculan los cambios de almacenamiento, o en LOGICAL para usar bytes lógicos. LOGICAL es la configuración predeterminada.

    Cuando cambias el modelo de facturación de un conjunto de datos, el cambio tarda 24 horas en aplicarse.

    Una vez que cambies el modelo de facturación de almacenamiento de un conjunto de datos, debes esperar 14 días antes de poder volver a cambiar el modelo de facturación de almacenamiento.

  • PROJECT_ID: el ID de tu proyecto.

  • DATASET_ID es el ID del conjunto de datos que crearás.

Por ejemplo, con el siguiente comando, se crea un conjunto de datos llamado mydataset con la ubicación de los datos establecida en US, un vencimiento predeterminado de la tabla de 3,600 segundos (una hora) y una descripción de This is my dataset. En lugar de usar la marca --dataset, el comando usa el acceso directo -d. Si omites -d y --dataset, el comando crea un conjunto de datos de manera predeterminada.

bq --location=US mk -d \
    --default_table_expiration 3600 \
    --description "This is my dataset." \
    mydataset

Para confirmar que se creó el conjunto de datos, ingresa el comando bq ls. También puedes crear una tabla cuando creas un nuevo conjunto de datos con el siguiente formato: bq mk -t dataset.table. Para obtener más información sobre cómo crear tablas, consulta Crea una tabla.

Terraform

Usa el recurso google_bigquery_dataset.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.

Crea un conjunto de datos

En el siguiente ejemplo, se crea un conjunto de datos llamado mydataset:

resource "google_bigquery_dataset" "default" {
  dataset_id                      = "mydataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  labels = {
    billing_group = "accounting",
    pii           = "sensitive"
  }
}

Cuando creas un conjunto de datos con el recurso google_bigquery_dataset, este otorga automáticamente acceso al conjunto de datos a todas las cuentas que son miembros de los roles básicos a nivel de proyecto. Si ejecutas el comando terraform show después de crear el conjunto de datos, el bloque access del conjunto de datos será similar al siguiente:

Bloque de acceso para un conjunto de datos creado mediante Terraform.

Para otorgar acceso al conjunto de datos, te recomendamos que uses una de los siguientes recursos de google_bigquery_iam, como se muestra en el siguiente ejemplo, a menos que planees crear objetos autorizados, como las vistas autorizadas dentro del conjunto de datos. En ese caso, usa el recurso google_bigquery_dataset_access. Consulta esa documentación para ver ejemplos.

Crea un conjunto de datos y otorga acceso a él

En el siguiente ejemplo, se crea un conjunto de datos llamado mydataset y, luego, se usa el recurso google_bigquery_dataset_iam_policy para otorgarle acceso.

resource "google_bigquery_dataset" "default" {
  dataset_id                      = "mydataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  labels = {
    billing_group = "accounting",
    pii           = "sensitive"
  }
}

# Update the user, group, or service account
# provided by the members argument with the
# appropriate principals for your organization.
data "google_iam_policy" "default" {
  binding {
    role = "roles/bigquery.dataOwner"
    members = [
      "user:raha@altostrat.com",
    ]
  }
  binding {
    role = "roles/bigquery.admin"
    members = [
      "user:raha@altostrat.com",
    ]
  }
  binding {
    role = "roles/bigquery.user"
    members = [
      "group:analysts@altostrat.com",
    ]
  }
  binding {
    role = "roles/bigquery.dataViewer"
    members = [
      "serviceAccount:bqcx-1234567891011-abcd@gcp-sa-bigquery-condel.iam.gserviceaccount.com",
    ]
  }
}

resource "google_bigquery_dataset_iam_policy" "default" {
  dataset_id  = google_bigquery_dataset.default.dataset_id
  policy_data = data.google_iam_policy.default.policy_data
}

Crea un conjunto de datos con una clave de encriptación administrada por el cliente

En el siguiente ejemplo, se crea un conjunto de datos llamado mydataset y también usa los recursos google_kms_crypto_key y google_kms_key_ring para especificar una clave de Cloud Key Management Service para el conjunto de datos. Debes habilitar la API de Cloud Key Management Service antes de ejecutar este ejemplo.

resource "google_bigquery_dataset" "default" {
  dataset_id                      = "mydataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  default_encryption_configuration {
    kms_key_name = google_kms_crypto_key.crypto_key.id
  }

  labels = {
    billing_group = "accounting",
    pii           = "sensitive"
  }
  depends_on = [google_project_iam_member.service_account_access]
}

resource "google_kms_crypto_key" "crypto_key" {
  name     = "example-key"
  key_ring = google_kms_key_ring.key_ring.id
}

resource "random_id" "default" {
  byte_length = 8
}

resource "google_kms_key_ring" "key_ring" {
  name     = "${random_id.default.hex}-example-keyring"
  location = "us"
}

# Enable the BigQuery service account to encrypt/decrypt Cloud KMS keys
data "google_project" "project" {
}

resource "google_project_iam_member" "service_account_access" {
  project = data.google_project.project.project_id
  role    = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
  member  = "serviceAccount:bq-${data.google_project.project.number}@bigquery-encryption.iam.gserviceaccount.com"
}

Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, completa los pasos de las siguientes secciones.

Prepara Cloud Shell

  1. Inicia Cloud Shell
  2. Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.

    Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.

Prepara el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión .tf, por ejemplo, main.tf. En este instructivo, el archivo se denomina main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.

    Copia el código de muestra en el main.tf recién creado.

    De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.

  3. Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo debes hacerlo una vez por directorio.
    terraform init

    De manera opcional, incluye la opción -upgrade para usar la última versión del proveedor de Google:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
    terraform plan

    Corrige la configuración según sea necesario.

  2. Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe yes cuando se te solicite:
    terraform apply

    Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.

  3. Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.

API

Llama al método datasets.insert con un recurso de conjunto de datos definido.

C#

Antes de probar este ejemplo, sigue las instrucciones de configuración para C# incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para C#.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.


using Google.Apis.Bigquery.v2.Data;
using Google.Cloud.BigQuery.V2;

public class BigQueryCreateDataset
{
    public BigQueryDataset CreateDataset(
        string projectId = "your-project-id",
        string location = "US"
    )
    {
        BigQueryClient client = BigQueryClient.Create(projectId);
        var dataset = new Dataset
        {
            // Specify the geographic location where the dataset should reside.
            Location = location
        };
        // Create the dataset
        return client.CreateDataset(
            datasetId: "your_new_dataset_id", dataset);
    }
}

Go

Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.

import (
	"context"
	"fmt"

	"cloud.google.com/go/bigquery"
)

// createDataset demonstrates creation of a new dataset using an explicit destination location.
func createDataset(projectID, datasetID string) error {
	// projectID := "my-project-id"
	// datasetID := "mydataset"
	ctx := context.Background()

	client, err := bigquery.NewClient(ctx, projectID)
	if err != nil {
		return fmt.Errorf("bigquery.NewClient: %v", err)
	}
	defer client.Close()

	meta := &bigquery.DatasetMetadata{
		Location: "US", // See https://cloud.google.com/bigquery/docs/locations
	}
	if err := client.Dataset(datasetID).Create(ctx, meta); err != nil {
		return err
	}
	return nil
}

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import com.google.cloud.bigquery.DatasetInfo;

public class CreateDataset {

  public static void runCreateDataset() {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    createDataset(datasetName);
  }

  public static void createDataset(String datasetName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      DatasetInfo datasetInfo = DatasetInfo.newBuilder(datasetName).build();

      Dataset newDataset = bigquery.create(datasetInfo);
      String newDatasetName = newDataset.getDatasetId().getDataset();
      System.out.println(newDatasetName + " created successfully");
    } catch (BigQueryException e) {
      System.out.println("Dataset was not created. \n" + e.toString());
    }
  }
}

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.

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

async function createDataset() {
  // Creates a new dataset named "my_dataset".

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

  // Specify the geographic location where the dataset should reside
  const options = {
    location: 'US',
  };

  // Create a new dataset
  const [dataset] = await bigquery.createDataset(datasetId, options);
  console.log(`Dataset ${dataset.id} created.`);
}
createDataset();

PHP

Antes de probar este ejemplo, sigue las instrucciones de configuración para PHP incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para PHP.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.

use Google\Cloud\BigQuery\BigQueryClient;

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

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$dataset = $bigQuery->createDataset($datasetId);
printf('Created dataset %s' . PHP_EOL, $datasetId);

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.

from google.cloud import bigquery

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

# TODO(developer): Set dataset_id to the ID of the dataset to create.
# dataset_id = "{}.your_dataset".format(client.project)

# Construct a full Dataset object to send to the API.
dataset = bigquery.Dataset(dataset_id)

# TODO(developer): Specify the geographic location where the dataset should reside.
dataset.location = "US"

# Send the dataset to the API for creation, with an explicit timeout.
# Raises google.api_core.exceptions.Conflict if the Dataset already
# exists within the project.
dataset = client.create_dataset(dataset, timeout=30)  # Make an API request.
print("Created dataset {}.{}".format(client.project, dataset.dataset_id))

Ruby

Antes de probar este ejemplo, sigue las instrucciones de configuración para Ruby incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Ruby.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.

require "google/cloud/bigquery"

def create_dataset dataset_id = "my_dataset", location = "US"
  bigquery = Google::Cloud::Bigquery.new

  # Create the dataset in a specified geographic location
  bigquery.create_dataset dataset_id, location: location

  puts "Created dataset: #{dataset_id}"
end

Seguridad de los conjuntos de datos

Para controlar el acceso a los conjuntos de datos en BigQuery, consulta Controla el acceso a los conjuntos de datos. Para obtener información sobre la encriptación de datos, consulta Encriptación en reposo.

¿Qué sigue?

Pruébalo tú mismo

Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de BigQuery en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar BigQuery gratis