Crea conjuntos de datos

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

Puedes crear conjuntos de datos con los métodos siguientes:

  • Mediante Cloud Console o la IU web clásica de BigQuery
  • Mediante el comando bq mk de la CLI
  • Mediante una llamada al método de la API datasets.insert
  • Mediante las bibliotecas cliente
  • Mediante la copia de un conjunto de datos existente

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

.

Limitaciones de los conjuntos de datos

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

  • Solo puedes establecer la ubicación geográfica en el momento de la creación. Después de crear un conjunto de datos, la ubicación se vuelve inmutable y no se puede modificar en Cloud Console, la IU web clásica de BigQuery, la herramienta de línea de comandos ni con una llamada a los métodos de la API patch o update.
  • Todas las tablas a las que se hace referencia en una consulta deben almacenarse en conjuntos de datos en la misma ubicación.

  • 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 por proyecto.

  • Cuando tienes miles de conjuntos de datos en un proyecto, el rendimiento de la IU clásica comienza a degradarse, y la enumeración de conjuntos de datos se vuelve más lenta.

Nombra conjuntos de datos

Cuando creas un conjunto de datos en BigQuery, su nombre debe ser único por proyecto. El nombre del conjunto de datos tiene las características siguientes:

  • Puede contener hasta 1,024 caracteres.
  • Puede contener letras (mayúsculas o minúsculas), números y guiones bajos.

  • Distingue entre mayúsculas y minúsculas: mydataset y MyDataset pueden coexistir en el mismo proyecto

Los nombres de conjuntos de datos tienen estas limitaciones:

  • No pueden contener espacios o caracteres especiales como -, &, @, o %.

Permisos necesarios

Como mínimo, para crear un conjunto de datos, debes tener los permisos bigquery.datasets.create. Las siguientes funciones predefinidas de Cloud IAM incluyen permisos bigquery.datasets.create:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.user
  • bigquery.admin

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

Crea un conjunto de datos

Sigue estos pasos para crear un conjunto de datos:

Console

  1. Abre la IU web de BigQuery en Cloud Console.

    Ir a Cloud Console

  2. En el panel de navegación, en la sección Recursos, selecciona tu proyecto.

  3. En el lado derecho de la ventana, en el panel de detalles, haz clic en Crear conjunto de datos.

  4. En la página Crear conjunto de datos, haz lo siguiente:

    • En ID de conjunto de datos, ingresa un nombre único para el conjunto de datos.
    • En Ubicación de los datos, selecciona una ubicación geográfica para el conjunto de datos (opcional). Si dejas el valor establecido como Predeterminado, la ubicación se configura como US. Después de crear un conjunto de datos, la ubicación no se puede cambiar.

    • Para Vencimiento predeterminado de la tabla, selecciona una de las siguientes opciones:

      • Nunca: (Opción predeterminada) Las tablas creadas en el conjunto de datos nunca se borran de manera automática. Debes borrarlas tú mismo.
      • Cantidad de días después de la creación de la tabla: Este valor determina cuándo se borra una tabla recién creada en el conjunto de datos. Este valor se aplica si no estableces el vencimiento de la tabla cuando la creas.
    • Haz clic en Crear conjunto de datos.

IU clásica

  1. Haz clic en el ícono de flecha hacia abajo ícono de flecha hacia abajo que está junto al nombre de tu proyecto en la navegación y, luego, haz clic en Crear nuevo conjunto de datos.

  2. En el diálogo Crear conjunto de datos, realiza lo siguiente:

    • En ID de conjunto de datos, ingresa un nombre único para el conjunto de datos.
    • En Ubicación de los datos, elige una ubicación para el conjunto de datos. El valor predeterminado es Sin especificar, lo que establece la ubicación del conjunto de datos en US. Después de crear un conjunto de datos, la ubicación no se puede cambiar.

    • En Vencimiento de datos, elige una de las siguientes opciones:

      • Nunca: (Opción predeterminada) Las tablas creadas en el conjunto de datos nunca se borran de manera automática. Debes borrarlas tú mismo.
      • En integer días: Cualquier tabla creada en el conjunto de datos se borra después de integer días desde su hora de creación. Este valor se aplica si no estableces el vencimiento de la tabla cuando la creas.

        Vencimiento de datos se refiere al vencimiento predeterminado de las tablas recién creadas en el conjunto de datos. No puedes establecer un vencimiento de partición predeterminada en la IU web de BigQuery cuando creas un conjunto de datos. Puedes establecer un vencimiento de partición predeterminada después de crear el conjunto de datos con la herramienta de línea de comandos o la API.

    • Haz clic en Aceptar.

CLI

Usa el comando de bq mk con la marca --location para crear un conjunto de datos nuevo. Los parámetros opcionales incluyen --default_table_expiration, --default_partition_expiration y --description.

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.

bq --location=location mk \
--dataset \
--default_table_expiration integer1 \
--default_partition_expiration integer2 \
--description description \
project_id:dataset

En este comando, se muestra lo siguiente:

  • location corresponde a 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 con el archivo .bigqueryrc.

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

  • integer2 es 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. La fecha de vencimiento se evalúa según la fecha de la partición más el número entero. Cualquier partición creada en una tabla particionada en el conjunto de datos se borra después de [INTEGER2] segundos a partir de la fecha de 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.

  • description es una descripción del conjunto de datos entre comillas.

  • project_id es el ID del proyecto.

  • dataset es el nombre 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

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# que se encuentran en la Guía de inicio rápido: usa bibliotecas cliente. Si deseas 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;

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

Go

Antes de probar este ejemplo, sigue las instrucciones de configuración para Go que se encuentran en la Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.


using Google.Cloud.BigQuery.V2;
using System;

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

Java

Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que se encuentran en la Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.


using Google.Cloud.BigQuery.V2;
using System;

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

Node.js

Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js que se encuentran en la Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.


using Google.Cloud.BigQuery.V2;
using System;

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

PHP

Antes de probar este ejemplo, sigue las instrucciones de configuración para PHP que se encuentran en la Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para PHP.


using Google.Cloud.BigQuery.V2;
using System;

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

Python

Antes de probar este ejemplo, sigue las instrucciones de configuración para Python que se encuentran en la Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.


using Google.Cloud.BigQuery.V2;
using System;

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

Ruby

Antes de probar este ejemplo, sigue las instrucciones de configuración para Ruby que se encuentran en la Guía de inicio rápido: usa bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de BigQuery para Ruby.


using Google.Cloud.BigQuery.V2;
using System;

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

Próximos pasos

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

Enviar comentarios sobre…

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