En este módulo, aprenderás cómo transformar y limpiar datos en BigQuery. La transformación y limpieza de datos son pasos cruciales en el proceso de preparación de datos para análisis y modelado. Asegurarse de que los datos sean precisos, consistentes y estén en el formato correcto es esencial para obtener resultados confiables.
Objetivos de Aprendizaje
- Comprender la importancia de la transformación y limpieza de datos.
- Aprender a utilizar funciones SQL para transformar y limpiar datos en BigQuery.
- Realizar operaciones comunes de limpieza de datos, como eliminación de duplicados y manejo de valores nulos.
- Aplicar técnicas de transformación de datos, como la normalización y agregación.
- Importancia de la Transformación y Limpieza de Datos
La transformación y limpieza de datos son procesos esenciales en cualquier proyecto de análisis de datos. Estos procesos aseguran que los datos sean:
- Precisos: Los datos deben ser correctos y libres de errores.
- Consistentes: Los datos deben estar en un formato uniforme y coherente.
- Completo: Los datos deben estar completos y no tener valores faltantes significativos.
- Relevantes: Los datos deben ser relevantes para el análisis que se va a realizar.
- Funciones SQL para Transformación y Limpieza de Datos
2.1 Eliminación de Duplicados
Para eliminar duplicados en BigQuery, puedes usar la cláusula DISTINCT
o la función ROW_NUMBER()
en combinación con una subconsulta.
Ejemplo:
Usando ROW_NUMBER()
:
WITH ranked_data AS ( SELECT column1, column2, ROW_NUMBER() OVER (PARTITION BY column1 ORDER BY column2) AS row_num FROM dataset.table ) SELECT column1, column2 FROM ranked_data WHERE row_num = 1;
2.2 Manejo de Valores Nulos
Para manejar valores nulos, puedes usar la función IFNULL()
o COALESCE()
.
Ejemplo:
Usando COALESCE()
:
2.3 Normalización de Datos
La normalización de datos implica transformar los datos para que estén en un rango común. Esto es útil para comparaciones y análisis.
Ejemplo:
SELECT column1, (column2 - MIN(column2) OVER()) / (MAX(column2) OVER() - MIN(column2) OVER()) AS normalized_column2 FROM dataset.table;
2.4 Agregación de Datos
La agregación de datos implica resumir los datos en grupos. Puedes usar funciones de agregación como SUM()
, AVG()
, COUNT()
, etc.
Ejemplo:
SELECT column1, SUM(column2) AS total_column2, AVG(column2) AS avg_column2 FROM dataset.table GROUP BY column1;
- Ejercicios Prácticos
Ejercicio 1: Eliminación de Duplicados
Dado un conjunto de datos con duplicados, escribe una consulta para eliminar los duplicados y mostrar solo las filas únicas.
Datos de Ejemplo:
CREATE TABLE dataset.example_table AS SELECT 1 AS id, 'A' AS value UNION ALL SELECT 2, 'B' UNION ALL SELECT 1, 'A' UNION ALL SELECT 3, 'C';
Consulta:
Ejercicio 2: Manejo de Valores Nulos
Dado un conjunto de datos con valores nulos, escribe una consulta para reemplazar los valores nulos con un valor predeterminado.
Datos de Ejemplo:
CREATE TABLE dataset.example_table AS SELECT 1 AS id, 'A' AS value UNION ALL SELECT 2, NULL UNION ALL SELECT 3, 'C';
Consulta:
Ejercicio 3: Normalización de Datos
Dado un conjunto de datos, escribe una consulta para normalizar una columna numérica.
Datos de Ejemplo:
CREATE TABLE dataset.example_table AS SELECT 1 AS id, 10 AS value UNION ALL SELECT 2, 20 UNION ALL SELECT 3, 30;
Consulta:
SELECT id, (value - MIN(value) OVER()) / (MAX(value) OVER() - MIN(value) OVER()) AS normalized_value FROM dataset.example_table;
Ejercicio 4: Agregación de Datos
Dado un conjunto de datos, escribe una consulta para agregar los datos por una columna específica.
Datos de Ejemplo:
CREATE TABLE dataset.example_table AS SELECT 'A' AS category, 10 AS value UNION ALL SELECT 'A', 20 UNION ALL SELECT 'B', 30;
Consulta:
SELECT category, SUM(value) AS total_value, AVG(value) AS avg_value FROM dataset.example_table GROUP BY category;
Conclusión
En esta sección, hemos cubierto las técnicas básicas de transformación y limpieza de datos en BigQuery. Estas habilidades son fundamentales para preparar datos de alta calidad para análisis y modelado. Asegúrate de practicar estas técnicas con diferentes conjuntos de datos para fortalecer tu comprensión y habilidades. En el próximo módulo, exploraremos la gestión de conjuntos de datos y tablas 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