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 debq
. - 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.
Para obtener información sobre cómo consultar tablas en un conjunto de datos públicos, lee Consulta un conjunto de datos públicos con Google Cloud Console.
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.
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.
Antes de comenzar
Otorga roles de Identity and Access Management (IAM) que les brindan a los usuarios los permisos necesarios para realizar 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 los roles de IAM en BigQuery, consulta Roles 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 los conjuntos de datos distinguen entre mayúsculas y minúsculas: mydataset
y MyDataset
pueden coexistir en el mismo proyecto.
Los nombres de los conjuntos de datos no pueden contener espacios o caracteres especiales como -
, &
, @
o %
.
Crear conjuntos de datos
Sigue estos pasos para crear un conjunto de datos:
Console
Abre la página BigQuery en la consola de Google Cloud.
En el panel Explorador, selecciona el proyecto en el que deseas crear el conjunto de datos.
Expande la opción
Acciones y haz clic en Crear conjunto de datos.En la página Crear conjunto de datos:
- 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). 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:
- Never (Nunca): (Predeterminado) 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.
Haga 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
.
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, ingresa la siguiente sentencia:
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 = [('LABEL_1','VALUE_1'),('LABEL_2','VALUE_2')], location = 'LOCATION', max_time_travel_hours = HOURS, storage_billing_model = STORAGE_BILLING_MODEL);
Reemplaza lo siguiente:
PROJECT_ID
: El ID de tu proyectoDATASET_ID
: es el ID del conjunto de datos que crearásKMS_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 dePARTITION_EXPIRATION
días a partir de la fecha de la partición. Si proporcionas la opcióntime_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 enTABLE_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 datosLABEL_1:VALUE_1
: el par clave-valor que deseas establecer como la primera etiqueta de este conjunto de datos.LABEL_2:VALUE_2
: el par clave-valor que deseas establecer como la segunda etiquetaLOCATION
: 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. La capacidad de configurar el período del viaje se encuentra en vista previa. El campohours
debe ser un múltiplo de 24 entre 48 y 168. Si no se especifica, el valor predeterminado es 168.STORAGE_BILLING_MODEL
: configura esta opción comophysical
para usar bytes físicos en lugar de bytes lógicos cuando calcules los cargos de almacenamiento de este conjunto de datos. Si configuras el modelo de facturación de almacenamiento de un conjunto de datos para que use bytes físicos, no puedes cambiarlo para que use bytes lógicos. La capacidad de configurar el modelo de facturación de almacenamiento se encuentra en versión preliminar.
Haz clic en
Ejecutar.
Si quieres obtener información para ejecutar consultas, visita Ejecuta consultas interactivas.
bq
Para crear un conjunto de datos nuevo, usa el comando bq mk
con la marca --location
.
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=LABEL_1:VALUE_1 \ --label=LABEL_2:VALUE_2 \ --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 dePARTITION_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 enTABLE_EXPIRATION
segundos 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 datosLABEL_1:VALUE_1
: el par clave-valor que deseas establecer como la primera etiqueta en este conjunto de datos, yLABEL_2:VALUE_2
es el par clave-valor que deseas establecer como segunda etiqueta.HOURS
la duración en horas del período del viaje para el conjunto de datos nuevo. La capacidad de configurar el período del viaje se encuentra en vista previa. El campoHOURS
debe ser un múltiplo de 24 entre 48 y 168. Si no se especifica, el valor predeterminado es 168.BILLING_MODEL
: Es el modelo de facturación de almacenamiento para el conjunto de datos. La capacidad de configurar el modelo de facturación de almacenamiento se encuentra en versión preliminar. Configura este valor de marca comoLOGICAL
si quieres usar bytes lógicos para la facturación de almacenamiento o comoPHYSICAL
si quieres usar bytes físicos.PROJECT_ID
: el ID de tu proyectoDATASET_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.
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#.
Comienza a usarlo
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.
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.
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.
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.
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.
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.
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.
Próximos pasos
- Para obtener más información sobre la creación de listas de conjuntos de datos en un proyecto, consulta Haz una lista de los conjuntos de datos.
- Para obtener más información sobre los metadatos en conjuntos de datos, consulta Obtén información sobre los conjuntos de datos.
- Para obtener más información sobre el cambio de las propiedades de un conjunto de datos, consulta Cómo actualizar las propiedades de los conjunto de datos.
- Para obtener más información sobre cómo crear y administrar etiquetas, consulta cómo crear y administrar etiquetas.
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