Crear conjuntos de datos

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

Puede crear conjuntos de datos de las siguientes formas:

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

Para ver los pasos que debes seguir para copiar un conjunto de datos, incluso entre regiones, consulta Copiar conjuntos de datos.

En este documento se describe cómo trabajar con conjuntos de datos normales que almacenan datos en BigQuery. Para saber cómo trabajar con conjuntos de datos externos de Spanner, consulta Crear conjuntos de datos externos de Spanner. Para saber cómo trabajar con conjuntos de datos federados de AWS Glue, consulta Crear conjuntos de datos federados de AWS Glue.

Para aprender a consultar tablas de un conjunto de datos público, consulta Consulta un conjunto de datos público con la consola Google Cloud .

Limitaciones de los conjuntos de datos

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

  • La ubicación del conjunto de datos solo se puede definir en el momento de la creación. Una vez creado un conjunto de datos, no se puede cambiar su ubicación.
  • Todas las tablas a las que se haga referencia en una consulta deben almacenarse en conjuntos de datos de la misma ubicación.
  • Los conjuntos de datos externos no admiten la caducidad de tablas, las réplicas, el viaje en el tiempo, la ordenación predeterminada, el modo de redondeo predeterminado ni la opción de habilitar o inhabilitar los nombres de tabla que no distinguen entre mayúsculas y 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 en cada proyecto.

  • Si cambia el modelo de facturación del almacenamiento de un conjunto de datos, debe esperar 14 días para poder volver a cambiarlo.

  • No puedes registrar un conjunto de datos en la facturación del almacenamiento físico si tienes compromisos de slots de tarifa plana antiguos en la misma región que el conjunto de datos.

Antes de empezar

Concede roles de gestión de identidades y accesos (IAM) que proporcionen a los usuarios los permisos necesarios para realizar cada tarea de este documento.

Permisos obligatorios

Para crear un conjunto de datos, necesitas el permiso bigquery.datasets.create de gestión de identidades y accesos.

Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye los permisos que necesitas para crear un conjunto de datos:

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

Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.

Crear conjuntos de datos

Para crear un conjunto de datos, sigue estos pasos:

Consola

  1. Abre la página de BigQuery en la Google Cloud consola.
  2. Ir a la página de BigQuery
  3. En el panel Explorador, selecciona el proyecto en el que quieras crear el conjunto de datos.
  4. Abre la opción Ver acciones y haz clic en Crear conjunto de datos.
  5. Usa el menú de acciones del proyecto para crear un conjunto de datos
  6. En la página Crear conjunto de datos, haz lo siguiente:
    1. En ID del conjunto de datos, introduce un nombre único para el conjunto de datos.
    2. En Tipo de ubicación, elija una ubicación geográfica para el conjunto de datos. Una vez creado el conjunto de datos, la ubicación no se puede cambiar.
    3. Opcional: Selecciona Enlazar con un conjunto de datos externo si vas a crear un conjunto de datos externo.
    4. Si no necesitas configurar opciones adicionales, como etiquetas y vencimientos de tablas, haz clic en Crear conjunto de datos. De lo contrario, despliega la sección siguiente para configurar las opciones adicionales del conjunto de datos.

    Opciones adicionales para conjuntos de datos

    1. Opcional: Despliega la sección Etiquetas para añadir etiquetas a tu conjunto de datos.
    2. Para aplicar una etiqueta ya creada, sigue estos pasos:
      1. Haga clic en la flecha desplegable situada junto a Seleccionar ámbito y elija Ámbito actual > Seleccionar organización actual o Seleccionar proyecto actual.
      2. También puedes hacer clic en Seleccionar ámbito para buscar un recurso o ver una lista de los recursos actuales.

      3. En Clave 1 y Valor 1, elige los valores adecuados de las listas.
    3. Para introducir manualmente una etiqueta nueva, sigue estos pasos:
      1. Haga clic en la flecha hacia abajo situada junto a Seleccionar un ámbito y elija Introducir IDs manualmente > Organización, Proyecto o Etiquetas.
      2. Si vas a crear una etiqueta para tu proyecto u organización, introduce el PROJECT_ID o el ORGANIZATION_ID en el cuadro de diálogo y, a continuación, haz clic en Guardar.
      3. En Clave 1 y Valor 1, elige los valores adecuados de las listas.
      4. Para añadir más etiquetas a la tabla, haz clic en Añadir etiqueta y sigue los pasos anteriores.
    4. Opcional: Expanda la sección Opciones avanzadas para configurar una o varias de las siguientes opciones.
      1. Para cambiar la opción Encriptado y usar tu propia clave criptográfica con Cloud Key Management Service, selecciona Clave de Cloud KMS.
      2. Para usar nombres de tabla que no distinguen entre mayúsculas y minúsculas, selecciona Habilitar nombres de tabla que no distinguen entre mayúsculas y minúsculas.
      3. Para cambiar la especificación de la ordenación predeterminada, elige el tipo de ordenación en la lista.
      4. Para definir una fecha de vencimiento para las tablas del conjunto de datos, selecciona Habilitar vencimiento de tabla y, a continuación, especifica la Antigüedad máxima predeterminada de la tabla en días.
      5. Para definir un modo de redondeo predeterminado, elige el modo de redondeo de la lista.
      6. Para habilitar el modelo de facturación de almacenamiento físico, elige el modelo de facturación de la lista.
      7. 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 del almacenamiento de un conjunto de datos, tendrás que esperar 14 días para volver a cambiarlo.

      8. Para definir el periodo de retroceso del conjunto de datos, elija el tamaño del periodo en la lista.
    5. Haz clic en Crear conjunto de datos.

SQL

Usa la instrucción CREATE SCHEMA.

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

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

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucció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);

    Haz los cambios siguientes:

    • PROJECT_ID: tu ID de proyecto
    • DATASET_ID: ID del conjunto de datos que vas a crear
    • 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 otra clave en el momento de la creación. No puedes crear una tabla cifrada por Google en un conjunto de datos con este parámetro.
    • PARTITION_EXPIRATION: el tiempo de vida predeterminado (en días) de las particiones de las tablas particionadas que se creen. La caducidad de la partición predeterminada no tiene ningún valor mínimo. La hora de vencimiento se evalúa como la fecha de la partición más el valor entero. Las particiones que se creen en una tabla particionada del conjunto de datos se eliminarán PARTITION_EXPIRATION días después de la fecha de la partición. Si proporciona la opción time_partitioning_expiration al crear o actualizar una tabla con particiones, la fecha de vencimiento de la partición a nivel de tabla tendrá prioridad sobre la fecha de vencimiento de la partición predeterminada a nivel de conjunto de datos.
    • TABLE_EXPIRATION: el tiempo de vida predeterminado (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 calcula sumando el valor entero a la hora actual. Las tablas creadas en el conjunto de datos se eliminan TABLE_EXPIRATION días después de su creación. Este valor se aplica si no defines una caducidad de la tabla al crearla.
    • DESCRIPTION: una descripción del conjunto de datos
    • KEY_1:VALUE_1: el par clave-valor que quieras definir como la primera etiqueta de este conjunto de datos.
    • KEY_2:VALUE_2: el par clave-valor que quieres definir como segunda etiqueta.
    • LOCATION: la ubicación del conjunto de datos. Una vez creado el conjunto de datos, la ubicación no se puede cambiar.
    • HOURS: la duración en horas de la ventana de viaje en el tiempo del nuevo conjunto de datos. El valor de HOURS debe ser un número entero expresado en múltiplos de 24 (48, 72, 96, 120, 144 y 168) entre 48 (2 días) y 168 (7 días). Si no se especifica esta opción, el valor predeterminado es 168 horas.
    • BILLING_MODEL: define el modelo de facturación del almacenamiento del conjunto de datos. Asigna el valor BILLING_MODEL a PHYSICAL para usar bytes físicos al calcular los cargos de almacenamiento o a LOGICAL para usar bytes lógicos. LOGICAL es el valor predeterminado.

      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 del almacenamiento de un conjunto de datos, deberás esperar 14 días para volver a cambiarlo.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Para crear un conjunto de datos, usa el comando bq mk con la marca --location. Para ver 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, añade el ID del proyecto al nombre del conjunto de datos con 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

Haz los cambios siguientes:

  • LOCATION: la ubicación del conjunto de datos. Una vez creado un conjunto de datos, no se puede cambiar su ubicación. Puedes definir 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 otra clave en el momento de la creación. No puedes crear una tabla cifrada por Google en un conjunto de datos con este parámetro.

  • PARTITION_EXPIRATION: el tiempo de vida predeterminado (en segundos) de las particiones de las tablas particionadas recién creadas. La partición predeterminada no tiene ningún valor mínimo de vencimiento. La hora de vencimiento se evalúa como la fecha de la partición más el valor entero. Las particiones que se creen en una tabla particionada del conjunto de datos se eliminarán PARTITION_EXPIRATION segundos después de la fecha de la partición. Si proporcionas la marca --time_partitioning_expiration al crear o actualizar una tabla con particiones, la fecha de vencimiento de las particiones a nivel de tabla tendrá prioridad sobre la fecha de vencimiento de las particiones predeterminada a nivel de conjunto de datos.

  • TABLE_EXPIRATION: el tiempo de vida predeterminado (en segundos) de las tablas recién creadas. El valor mínimo es de 3600 segundos (una hora). El tiempo de vencimiento se evalúa como la hora actual más el valor entero. Las tablas creadas en el conjunto de datos se eliminan TABLE_EXPIRATION segundos después de su creación. Este valor se aplica si no defines una fecha de vencimiento para la tabla al crearla.

  • DESCRIPTION: una descripción del conjunto de datos

  • KEY_1:VALUE_1: el par clave-valor que quieres definir como primera etiqueta de este conjunto de datos y KEY_2:VALUE_2: el par clave-valor que quieres definir como segunda etiqueta.

  • KEY_3:VALUE_3: el par clave-valor que quiere definir como etiqueta en el conjunto de datos. Añade varias etiquetas con la misma marca separando los pares clave:valor con comas.

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

  • BILLING_MODEL: define el modelo de facturación del almacenamiento del conjunto de datos. Asigna el valor BILLING_MODEL a PHYSICAL para usar bytes físicos al calcular los cargos de almacenamiento o a LOGICAL para usar bytes lógicos. LOGICAL es el valor predeterminado.

    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 del almacenamiento de un conjunto de datos, deberás esperar 14 días para volver a cambiarlo.

  • PROJECT_ID: tu ID de proyecto.

  • DATASET_ID es el ID del conjunto de datos que vas a crear.

Por ejemplo, el siguiente comando crea un conjunto de datos llamado mydataset con la ubicación de los datos definida como US, un tiempo de vencimiento de tabla predeterminado de 3600 segundos (1 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 omite -d y --dataset, el comando creará un conjunto de datos de forma predeterminada.

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

Para confirmar que se ha creado el conjunto de datos, introduce el comando bq ls. También puedes crear una tabla al crear un conjunto de datos con el siguiente formato: bq mk -t dataset.table. Para obtener más información sobre cómo crear tablas, consulta el artículo Crear una tabla.

Terraform

Usa el recurso google_bigquery_dataset.

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

Crear 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, se concede automáticamente acceso al conjunto de datos a todas las cuentas que sean 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 tendrá un aspecto similar al siguiente:

Bloque de acceso de un conjunto de datos creado con Terraform.

Para conceder acceso al conjunto de datos, le recomendamos que utilice uno de los google_bigquery_iamrecursos, como se muestra en el siguiente ejemplo, a menos que tenga previsto crear objetos autorizados, como vistas autorizadas, en el conjunto de datos. En ese caso, usa el recurso google_bigquery_dataset_access. Consulta esa documentación para ver ejemplos.

Crear un conjunto de datos y conceder acceso a él

En el siguiente ejemplo se crea un conjunto de datos llamado mydataset y, a continuación, se usa el recurso google_bigquery_dataset_iam_policy para conceder acceso a él.

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
}

Crear un conjunto de datos con una clave de encriptado gestionada por el cliente

En el siguiente ejemplo se crea un conjunto de datos llamado mydataset y también se usan 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. Para ejecutar este ejemplo, debes habilitar la API Cloud Key Management Service.

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 la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud

Preparar Cloud Shell

  1. Abre Cloud Shell.
  2. Define el Google Cloud proyecto Google Cloud predeterminado en el que quieras aplicar tus configuraciones de Terraform.

    Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

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

Preparar 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 en ese directorio. El nombre del archivo debe tener la extensión .tf. Por ejemplo, main.tf. En este tutorial, nos referiremos al archivo como main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.

    Copia el código de ejemplo en el archivo main.tf que acabas de crear.

    También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.

  3. Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
    terraform init

    Si quieres usar la versión más reciente del proveedor de Google, incluye la opción -upgrade:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
    terraform plan

    Haga las correcciones necesarias en la configuración.

  2. Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply

    Espera hasta que Terraform muestre el mensaje "Apply complete!".

  3. Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha 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 C#instrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API C# de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de 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 Goinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de 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 Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de 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 Node.jsinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de 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 PHPinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API PHP de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de 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 Pythoninstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de 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 Rubyinstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Ruby de BigQuery.

Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de 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

Asignar nombres a los conjuntos de datos

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

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

Los nombres de los conjuntos de datos distinguen entre mayúsculas y minúsculas de forma predeterminada. mydataset y MyDataset pueden coexistir en el mismo proyecto, a menos que uno de ellos tenga desactivada la opción de distinguir entre mayúsculas y minúsculas. Para ver algunos ejemplos, consulta Crear un conjunto de datos que no distinga entre mayúsculas y minúsculas y Recurso: conjunto de datos.

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

Conjuntos de datos ocultos

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

Seguridad de los conjuntos de datos

Para controlar el acceso a los conjuntos de datos en BigQuery, consulta el artículo Controlar el acceso a los conjuntos de datos. Para obtener información sobre el cifrado de datos, consulta el artículo Cifrado en reposo.

Siguientes pasos

Pruébalo

Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de BigQuery en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.

Probar BigQuery gratis