Módulo 2: Procesamiento y Transformación de Datos Intermedio
Procesamiento y Transformación de Datos en GCP
Este módulo se centra en las herramientas de Google Cloud Platform para el procesamiento y la transformación de datos a diversas escalas, tanto para cargas de trabajo por lotes (batch) como en tiempo real (streaming).
Cloud Dataflow (Apache Beam)
Cloud Dataflow es un servicio totalmente gestionado que ejecuta pipelines de datos desarrollados con Apache Beam. Apache Beam es un modelo de programación unificado para definir pipelines de procesamiento de datos por lotes y streaming.
Características clave:
- Unificado: El mismo código para batch y streaming.
- Sin Servidor: Google gestiona la infraestructura de cómputo.
- Escalado Automático: Ajusta los recursos de cómputo según la carga de trabajo.
- Modelos de Transformación: Permite realizar transformaciones complejas, agregaciones, uniones y filtrado de datos.
Caso de Uso: ETL/ELT a gran escala, análisis de streaming en tiempo real.
# Ejemplo conceptual de Apache Beam (Python)
import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions
with beam.Pipeline(options=PipelineOptions()) as p:
(p
| 'Read' >> beam.io.ReadFromText('gs://your-bucket/input.txt')
| 'Split' >> beam.FlatMap(lambda line: line.split())
| 'PairWithOne' >> beam.Map(lambda word: (word, 1))
| 'GroupAndSum' >> beam.CombinePerKey(sum)
| 'Write' >> beam.io.WriteToText('gs://your-bucket/output.txt'))
Cloud Dataproc (Apache Spark & Hadoop)
Cloud Dataproc es un servicio rápido y fácil de usar para ejecutar clusters de Apache Spark, Apache Hadoop, Apache Flink y otros proyectos de código abierto del ecosistema Hadoop.
Características clave:
- Gestionado: Simplifica la creación y gestión de clusters.
- Escalable: Permite escalar clusters vertical y horizontalmente.
- Rentable: Pagas por el uso de los recursos del cluster.
Caso de Uso: Procesamiento de Big Data que requiere la flexibilidad de los frameworks de Hadoop/Spark, migración de cargas de trabajo on-premise.
Cloud Pub/Sub
Cloud Pub/Sub es un servicio de mensajería asíncrona y escalable que permite el envío y la recepción de mensajes entre aplicaciones independientes. Es fundamental para arquitecturas de streaming de datos.
Características clave:
- Desacoplamiento: Productores y consumidores de mensajes operan independientemente.
- Escalabilidad Global: Maneja millones de mensajes por segundo.
- Durabilidad: Garantiza la entrega de mensajes.
- Entrega At-Least-Once: Los mensajes se entregan al menos una vez.
Caso de Uso: Ingesta de datos de streaming (IoT, logs de aplicaciones, eventos de clickstream).
Cloud Data Catalog
Cloud Data Catalog es un servicio de gestión de metadatos totalmente gestionado que permite a las empresas descubrir, organizar y comprender sus activos de datos.
Características clave:
- Descubrimiento de Datos: Permite buscar y encontrar rápidamente activos de datos.
- Gestión de Metadatos: Almacena metadatos técnicos y de negocio.
- Gobernanza de Datos: Ayuda a aplicar políticas y asegurar la calidad de los datos.
Caso de Uso: Mejora la gobernanza de datos, facilita la colaboración entre equipos de datos, asegura el cumplimiento normativo.
Cloud Composer (Apache Airflow)
Cloud Composer es un servicio gestionado de orquestación de flujos de trabajo basado en Apache Airflow. Permite programar, monitorear y gestionar pipelines de datos complejos a través de DAGs (Directed Acyclic Graphs).
Características clave:
- Gestionado: Google se encarga de la infraestructura de Airflow.
- Extensible: Soporta operadores y sensores personalizados.
- Visualización de DAGs: Interfaz de usuario de Airflow para monitorear flujos de trabajo.
Caso de Uso: Orquestación de pipelines ETL/ELT complejos, automatización de tareas de datos.
Conclusión
Este módulo ha explorado los servicios clave de GCP para el procesamiento y la transformación de datos. Desde Dataflow para pipelines unificados de batch/streaming, Dataproc para clusters de Spark/Hadoop, Pub/Sub para ingesta de streaming, hasta Data Catalog para gobernanza y Composer para orquestación, estas herramientas te permiten construir soluciones de datos robustas y a gran escala en GCP.