Compartir en Twitter
Go to Homepage

CONSTRUYENDO UN PIPELINE DE DATOS ESCALABLE EN GOOGLE CLOUD

November 9, 2025

Introducción a los Pipelines de Datos Escalable

En el mundo actual, las aplicaciones generan grandes volúmenes de datos que necesitan ser procesados, analizados y transformados en decisiones estratégicas. Un pipeline de datos escalable es crucial para manejar este crecimiento, especialmente en entornos donde la flexibilidad y la escalabilidad son esenciales. Este tutorial detalla cómo construir un pipeline de datos eficiente utilizando Google Cloud, aunque los conceptos presentados son aplicables a otros entornos en la nube o locales. A lo largo de este artículo, exploraremos los cinco pasos principales para crear un pipeline de datos: captura, procesamiento, almacenamiento, análisis y visualización. Cada sección incluye ejemplos prácticos y código para ilustrar cómo implementar estas soluciones.

Captura de Datos

El primer paso en cualquier pipeline de datos es la captura de datos desde diversas fuentes. Dependiendo del origen, existen múltiples métodos para ingerir datos de manera eficiente.

Migración de Datos

Para datos almacenados en entornos locales o en otras nubes, las herramientas de migración son ideales. Google Cloud ofrece el servicio Storage Transfer Service, que permite transferir datos desde sistemas on-premise o desde otras plataformas como Amazon S3. Por ejemplo, para migrar datos desde un bucket de Amazon S3 a Google Cloud Storage, puedes usar el siguiente comando en la CLI de Google Cloud:

gcloud transfer jobs create s3://source-bucket gs://destination-bucket \
    --source-credentials-file=aws-credentials.json

Este comando configura un trabajo de transferencia que mueve los datos de forma segura y eficiente.

Ingestión desde Servicios SaaS

Muchas aplicaciones modernas dependen de servicios SaaS como YouTube, Google Ads o Salesforce. Para estos casos, BigQuery Data Transfer Service permite ingerir datos automáticamente a través de APIs. Por ejemplo, para configurar una transferencia desde Google Ads a BigQuery, puedes usar el siguiente comando:

bq mk --transfer_config \
    --data_source=google_ads \
    --target_dataset=my_dataset \
    --display_name="Google Ads Transfer" \
    --params='{"customer_id":"123-456-7890"}'

Este proceso automatiza la ingesta de datos, asegurando que los datos de Google Ads estén disponibles en BigQuery para análisis posteriores.

Datos en Tiempo Real

Para aplicaciones que generan datos en tiempo real, como eventos de aplicaciones móviles o web, Google Cloud Pub/Sub es una solución robusta. Pub/Sub permite enviar y recibir mensajes de eventos de manera asíncrona. Por ejemplo, para publicar un mensaje en un tema de Pub/Sub, puedes usar el siguiente código en Python:

from google.cloud import pubsub_v1

publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('my-project', 'my-topic')

data = "Mensaje de prueba".encode("utf-8")
future = publisher.publish(topic_path, data)
print(f"Mensaje publicado con ID: {future.result()}")

Un suscriptor puede luego procesar estos mensajes para realizar acciones específicas, como almacenarlos en una base de datos.

Datos de IoT

Para dispositivos IoT, Google Cloud ofrece Cloud IoT Core, que soporta el protocolo MQTT para transmitir datos en tiempo real. Los datos de IoT pueden enviarse a Pub/Sub para su procesamiento posterior. Un ejemplo de configuración para conectar un dispositivo IoT a Cloud IoT Core sería:

from google.cloud import iot_v1

client = iot_v1.DeviceManagerClient()
device_path = client.device_path('my-project', 'us-central1', 'my-registry', 'my-device')

device = {
    "id": "my-device",
    "credentials": [{"public_key": {"format": "RSA_X509_PEM", "key": "PUBLIC_KEY"}}]
}
client.create_device(parent=device_path, device=device)

Este código registra un dispositivo IoT, permitiendo la transmisión de datos a Pub/Sub para su integración en el pipeline.

Procesamiento de Datos

Una vez capturados, los datos deben ser procesados o enriquecidos para que sean útiles para los sistemas posteriores. Google Cloud ofrece varias herramientas para este propósito, cada una diseñada para diferentes casos de uso.

Dataproc para Hadoop

Dataproc es un servicio gestionado de Hadoop que permite configurar clústeres en minutos. Es ideal para quienes ya utilizan el ecosistema Hadoop pero desean una solución más ágil. Por ejemplo, para crear un clúster de Dataproc y ejecutar un job de Spark, puedes usar:

gcloud dataproc clusters create my-cluster \
    --region=us-central1 \
    --num-workers=2

gcloud dataproc jobs submit spark \
    --cluster=my-cluster \
    --region=us-central1 \
    --class=org.apache.spark.examples.SparkPi \
    --jars=gs://spark-lib/spark-examples.jar

Este comando crea un clúster y ejecuta un job de Spark para calcular el valor de Pi, demostrando la facilidad de uso de Dataproc.

Dataprep para Procesamiento sin Código

Dataprep es una herramienta visual que permite a los analistas procesar datos sin necesidad de escribir código. Utiliza una interfaz gráfica para transformar datos, aplicar filtros y enriquecerlos. Por ejemplo, un analista puede importar un archivo CSV, eliminar duplicados y normalizar columnas directamente desde la interfaz de Dataprep, lo que reduce significativamente el tiempo de procesamiento.

Dataflow para Procesamiento Escalable

Dataflow es un servicio serverless basado en Apache Beam, ideal para procesar datos en streaming o por lotes. Separa el almacenamiento del cómputo, lo que permite una escalabilidad automática. Un ejemplo de un pipeline en Dataflow para procesar datos en streaming sería:

import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions

options = PipelineOptions()
with beam.Pipeline(options=options) as pipeline:
    (pipeline
     | "Leer de Pub/Sub" >> beam.io.ReadFromPubSub(topic="projects/my-project/topics/my-topic")
     | "Transformar datos" >> beam.Map(lambda x: x.upper())
     | "Escribir en BigQuery" >> beam.io.WriteToBigQuery(
         "my-project:my_dataset.my_table",
         schema="column1:STRING",
         write_disposition=beam.io.BigQueryDisposition.WRITE_APPEND))

Este código lee datos de un tema de Pub/Sub, los transforma a mayúsculas y los escribe en BigQuery, mostrando la flexibilidad de Dataflow.

Almacenamiento de Datos

Tras el procesamiento, los datos deben almacenarse en un data lake o data warehouse para su archivo a largo plazo o para análisis y reportes. Google Cloud ofrece dos soluciones principales: Google Cloud Storage y BigQuery.

Google Cloud Storage

Google Cloud Storage es un almacén de objetos ideal para datos no estructurados como imágenes, videos y archivos. Ofrece cuatro tipos de almacenamiento según las necesidades de acceso:

  • Standard Storage: Para datos de acceso frecuente, como sitios web o aplicaciones móviles.
  • Nearline Storage: Para datos almacenados durante al menos 30 días, como copias de seguridad.
  • Coldline Storage: Para datos almacenados durante al menos 90 días, como recuperación ante desastres.
  • Archive Storage: Para datos archivados durante al menos 365 días, como registros regulatorios.

Para subir un archivo a un bucket de Google Cloud Storage, puedes usar:

gsutil cp my-file.txt gs://my-bucket/

Este comando sube un archivo a un bucket, demostrando la simplicidad del almacenamiento en la nube.

BigQuery

BigQuery es un data warehouse serverless que permite almacenar y consultar petabytes de datos sin gestionar servidores. Soporta consultas SQL y ofrece conectores integrados para ingerir y extraer datos. Por ejemplo, para crear una tabla en BigQuery y cargar datos desde un archivo CSV almacenado en Cloud Storage, puedes usar:

bq load \
    --source_format=CSV \
    my_dataset.my_table \
    gs://my-bucket/my-file.csv \
    column1:STRING,column2:INTEGER

Este comando crea una tabla y carga los datos, permitiendo consultas inmediatas con SQL.

Análisis de Datos

Una vez almacenados, los datos están listos para ser analizados. Si utilizas BigQuery, puedes realizar análisis directamente con SQL. Por ejemplo, para calcular el promedio de una columna en una tabla, puedes ejecutar:

SELECT AVG(column2)
FROM my_dataset.my_table
WHERE column1 = 'valor';

Este query calcula el promedio de column2 para filas donde column1 cumple con una condición específica.

BigQuery también ofrece BigQuery ML, que permite crear modelos de machine learning directamente desde la interfaz utilizando SQL. Por ejemplo, para crear un modelo de regresión lineal:

CREATE MODEL my_dataset.my_model
OPTIONS(model_type='linear_reg') AS
SELECT column1 AS label, column2, column3
FROM my_dataset.my_table;

Este modelo predice column1 basado en column2 y column3, mostrando cómo BigQuery simplifica el análisis predictivo.

Uso y Visualización de Datos

Uso de los Datos

Los datos almacenados en un data warehouse pueden usarse para generar insights y predicciones. Google Cloud ofrece herramientas como TensorFlow y AI Platform para procesar datos y construir modelos de machine learning.

TensorFlow es una plataforma de código abierto para machine learning. Por ejemplo, para entrenar un modelo simple de clasificación en TensorFlow:

import tensorflow as tf
from tensorflow.keras import layers

model = tf.keras.Sequential([
    layers.Dense(64, activation='relu', input_shape=(2,)),
    layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(training_data, training_labels, epochs=10)

Este código define y entrena un modelo de red neuronal, útil para tareas como clasificación binaria.

AI Platform simplifica el ciclo de vida del machine learning, desde la preparación hasta el despliegue. Por ejemplo, para desplegar un modelo en AI Platform:

gcloud ai-platform models create my_model --region=us-central1
gcloud ai-platform versions create v1 \
    --model=my_model \
    --origin=gs://my-bucket/model/ \
    --runtime-version=2.8

Este comando despliega un modelo para realizar predicciones en la nube.

Visualización de Datos

La visualización de datos es clave para compartir insights. Google Cloud ofrece herramientas como Data Studio y Looker para crear gráficos y dashboards.

Data Studio permite conectar datos desde BigQuery y otros servicios para crear visualizaciones interactivas. Por ejemplo, para crear un gráfico de barras que muestre ventas por región, puedes conectar un conjunto de datos de BigQuery y configurar el gráfico en la interfaz de Data Studio.

Looker es una plataforma empresarial para inteligencia de negocios y análisis embebido. Permite crear aplicaciones de datos personalizadas y conectarlas con BigQuery para reportes avanzados.

Por ejemplo, para generar un gráfico de barras que muestre ventas por región en Data Studio, puedes conectar una tabla de BigQuery y configurar el siguiente gráfico:

{
  "type": "bar",
  "data": {
    "labels": ["Región A", "Región B", "Región C"],
    "datasets": [{
      "label": "Ventas",
      "data": [1000, 1500, 800],
      "backgroundColor": ["#4285F4", "#0F9D58", "#F4B400"]
    }]
  },
  "options": {
    "scales": {
      "y": {
        "beginAtZero": true
      }
    }
  }
}

Este gráfico visualiza las ventas por región, utilizando colores distintivos para cada barra.

Conclusiones

Construir un pipeline de datos escalable en Google Cloud permite a las organizaciones procesar, almacenar y analizar grandes volúmenes de datos de manera eficiente. Desde la captura de datos en tiempo real con Pub/Sub hasta el análisis predictivo con BigQuery ML y la visualización en Data Studio, las herramientas de Google Cloud ofrecen una solución integral para transformar datos en decisiones estratégicas. Al implementar estas prácticas, las empresas pueden adaptarse al crecimiento de los datos, optimizar sus procesos y generar valor a partir de la información. Los ejemplos de código y configuraciones presentados en este tutorial proporcionan una base sólida para comenzar a construir tu propio pipeline de datos, adaptable a cualquier entorno tecnológico moderno.