En este módulo, aprenderás cómo gestionar conjuntos de datos y tablas en BigQuery. La gestión eficiente de estos elementos es crucial para mantener un entorno de datos organizado y optimizado. Cubriremos desde la creación y modificación de conjuntos de datos y tablas hasta la eliminación y recuperación de datos.
- Introducción a Conjuntos de Datos y Tablas
Conjuntos de Datos
- Definición: Un conjunto de datos en BigQuery es un contenedor lógico que agrupa una colección de tablas.
- Propósito: Facilita la organización y el control de acceso a las tablas.
- Estructura: Cada conjunto de datos pertenece a un proyecto y tiene un nombre único dentro de ese proyecto.
Tablas
- Definición: Una tabla es una estructura que almacena datos en filas y columnas.
- Tipos de Tablas:
- Tablas Nativas: Almacenan datos directamente en BigQuery.
- Tablas Externas: Referencian datos almacenados fuera de BigQuery, como en Google Cloud Storage.
- Creación de Conjuntos de Datos
Usando la Consola de BigQuery
- Navega a BigQuery en la consola de Google Cloud.
- Selecciona tu proyecto.
- Haz clic en "Crear conjunto de datos".
- Configura los detalles del conjunto de datos:
- ID del conjunto de datos: Nombre único dentro del proyecto.
- Ubicación de los datos: Región donde se almacenarán los datos.
- Configuraciones avanzadas: Opciones como la expiración predeterminada de tablas y etiquetas.
Usando SQL
- Explicación: Este comando crea un conjunto de datos llamado
my_dataset
en la regiónUS
.
- Creación de Tablas
Usando la Consola de BigQuery
- Selecciona el conjunto de datos donde deseas crear la tabla.
- Haz clic en "Crear tabla".
- Configura los detalles de la tabla:
- Nombre de la tabla: Nombre único dentro del conjunto de datos.
- Esquema de la tabla: Definición de las columnas y sus tipos de datos.
- Opciones de particionamiento y agrupamiento: Configuraciones para optimizar el rendimiento.
Usando SQL
- Explicación: Este comando crea una tabla llamada
my_table
en el conjunto de datosmy_dataset
con tres columnas:id
,name
ycreated_at
.
- Modificación de Tablas
Agregar Columnas
- Explicación: Este comando agrega una nueva columna
email
de tipoSTRING
a la tablamy_table
.
Cambiar el Tipo de Datos de una Columna
- Explicación: Este comando cambia el tipo de datos de la columna
name
aBYTES
.
- Eliminación de Conjuntos de Datos y Tablas
Eliminación de Tablas
- Explicación: Este comando elimina la tabla
my_table
del conjunto de datosmy_dataset
.
Eliminación de Conjuntos de Datos
- Explicación: Este comando elimina el conjunto de datos
my_dataset
y todas las tablas que contiene.
- Recuperación de Datos
Recuperación de Tablas Eliminadas
- Nota: BigQuery permite recuperar tablas eliminadas dentro de un período de tiempo limitado (generalmente 7 días).
- Comando:
-- Recuperar una tabla eliminada RESTORE TABLE my_dataset.my_table FROM SNAPSHOT AT TIMESTAMP '2023-01-01 00:00:00 UTC';
- Explicación: Este comando restaura la tabla
my_table
a su estado en el momento especificado.
Ejercicios Prácticos
Ejercicio 1: Crear un Conjunto de Datos y una Tabla
- Crea un conjunto de datos llamado
sales_data
. - Dentro de
sales_data
, crea una tabla llamadatransactions
con las siguientes columnas:transaction_id
(INT64)customer_id
(INT64)amount
(FLOAT64)transaction_date
(TIMESTAMP)
Solución
-- Crear conjunto de datos CREATE SCHEMA sales_data OPTIONS( location="US" ); -- Crear tabla CREATE TABLE sales_data.transactions ( transaction_id INT64, customer_id INT64, amount FLOAT64, transaction_date TIMESTAMP );
Ejercicio 2: Modificar una Tabla
- Agrega una columna
status
de tipoSTRING
a la tablatransactions
. - Cambia el tipo de datos de la columna
amount
aNUMERIC
.
Solución
-- Agregar columna ALTER TABLE sales_data.transactions ADD COLUMN status STRING; -- Cambiar tipo de datos ALTER TABLE sales_data.transactions ALTER COLUMN amount SET DATA TYPE NUMERIC;
Conclusión
En esta sección, hemos cubierto cómo gestionar conjuntos de datos y tablas en BigQuery, desde su creación hasta su eliminación y recuperación. Estos conocimientos son fundamentales para mantener un entorno de datos organizado y eficiente. En el próximo módulo, exploraremos técnicas avanzadas de optimización del rendimiento en BigQuery.
Curso de BigQuery
Módulo 1: Introducción a BigQuery
- ¿Qué es BigQuery?
- Configuración de tu Entorno de BigQuery
- Entendiendo la Arquitectura de BigQuery
- Visión General de la Consola de BigQuery
Módulo 2: SQL Básico en BigQuery
Módulo 3: SQL Intermedio en BigQuery
Módulo 4: SQL Avanzado en BigQuery
- Joins Avanzados
- Campos Anidados y Repetidos
- Funciones Definidas por el Usuario (UDFs)
- Particionamiento y Agrupamiento
Módulo 5: Gestión de Datos en BigQuery
- Cargando Datos en BigQuery
- Exportando Datos desde BigQuery
- Transformación y Limpieza de Datos
- Gestión de Conjuntos de Datos y Tablas
Módulo 6: Optimización del Rendimiento de BigQuery
- Técnicas de Optimización de Consultas
- Entendiendo los Planes de Ejecución de Consultas
- Uso de Vistas Materializadas
- Optimización del Almacenamiento
Módulo 7: Seguridad y Cumplimiento en BigQuery
- Control de Acceso y Permisos
- Encriptación de Datos
- Auditoría y Monitoreo
- Cumplimiento y Mejores Prácticas
Módulo 8: Integración y Automatización de BigQuery
- Integración con Servicios de Google Cloud
- Uso de BigQuery con Dataflow
- Automatización de Flujos de Trabajo con Cloud Functions
- Programación de Consultas con Cloud Scheduler
Módulo 9: Machine Learning en BigQuery (BQML)
- Introducción a BigQuery ML
- Creación y Entrenamiento de Modelos
- Evaluación y Predicción con Modelos
- Características Avanzadas de BQML