Inicio
Temas
Pipeline de datos
Actualizado: 14 junio de 2024
Colaborador: Cole Stryker
Un data pipeline o pipeline de datos es un método en el que los datos sin procesar se ingieren de varias fuentes de datos, se transforman y luego se trasladan a un almacén de datos, como un data lake o un almacén de datos, para su análisis.
Antes de que los datos fluyan hacia un repositorio de datos, generalmente se someten a cierto procesamiento. Esto incluye transformaciones de datos, como filtrado, enmascaramiento y agregaciones, que garantizan la integración y estandarización de datos adecuadas. Esto es particularmente importante cuando el destino del conjunto de datos es una base de datos relacional.
Este tipo de repositorio de datos tiene un esquema definido que requiere alineación (es decir, coincidencia de columnas y tipos de datos) para actualizar los datos existentes con datos nuevos.
Como su nombre indica, los pipelines de datos actúan como “tuberías” para proyectos de ciencia de datos o paneles de business intelligence. Los datos pueden obtenerse a través de una amplia variedad de lugares (API, bases de datos SQL y NoSQL, archivos, etc.), pero lamentablemente, esos datos no suelen estar listos para su uso inmediato.
Durante el abastecimiento, se realiza un seguimiento del linaje de datos para documentar la relación entre los datos empresariales en diversas aplicaciones empresariales y de TI, por ejemplo, dónde se encuentran actualmente los datos y cómo se almacenan en un entorno, como on premises, en un data lake o en un almacén de datos.
Las tareas de preparación de datos suelen recaer en los científicos de datos o ingenieros de datos, que estructuran los datos para satisfacer las necesidades de los casos de uso empresarial y manejar enormes cantidades de datos.
El tipo de procesamiento de datos que requiere un pipeline de datos suele determinarse mediante una combinación de análisis exploratorio de datos y requisitos empresariales definidos. Una vez que los datos se filtraron, fusionaron y resumieron adecuadamente, se pueden almacenar y sacar a la superficie para su uso. Los pipelines de datos bien organizadas proporcionan la base para una serie de proyectos de datos; esto puede incluir análisis exploratorios de datos, visualizaciones de datos y tareas de aprendizaje automático.
Escale las cargas de trabajo de IA para todos sus datos, en cualquier lugar.
Hay varios tipos principales de pipelines de datos, cada uno apropiado para tareas específicas en plataformas específicas.
El desarrollo del procesamiento por lotes fue un paso fundamental en la creación de infraestructuras de datos confiables y escalables. En 2004, MapReduce, un algoritmo de procesamiento por lotes, fue patentado y posteriormente integrado en sistemas de código abierto, como Hadoop, CouchDB y MongoDB.
Como su nombre lo indica, el procesamiento por lotes carga “lotes” de datos en un repositorio durante intervalos de tiempo establecidos, que generalmente se programan durante las horas hábiles fuera de horario comercial. De esta manera, otras cargas de trabajo no se ven afectadas, ya que los trabajos de procesamiento por lotes tienden a funcionar con grandes volúmenes de datos, lo que puede sobrecargar el sistema en general.
El procesamiento por lotes suele ser el canal de datos óptimo cuando no existe una necesidad inmediata de analizar un conjunto de datos específico (por ejemplo, contabilidad mensual) y está más asociado con el proceso de integración de datos ETL, que significa "extraer, transformar y cargar".
Los trabajos de procesamiento por lotes forman un flujo de trabajo de comandos secuenciados, donde la salida de un comando se convierte en la entrada del siguiente comando. Por ejemplo, un comando puede iniciar la ingesta de datos, el siguiente comando puede activar el filtrado de columnas específicas y el comando siguiente puede gestionar la agregación. Este serial de comandos continuará hasta que la calidad de los datos esté completamente transformada y reescrita en un repositorio de datos.
A diferencia del procesamiento por lotes, las canalizaciones de datos de transmisión,también conocidas como arquitecturas basadas en eventos, procesan continuamente eventos generados por diversas fuentes, como sensores o interacciones del usuario dentro de una aplicación. Los eventos se procesan y analizan, y luego se almacenan en bases de datos o se envían para su posterior análisis.
La transmisión de datos se aprovecha cuando es necesario que los datos se actualicen continuamente. Por ejemplo, las aplicaciones o sistemas de punto de venta necesitan datos en tiempo real para actualizar el inventario y el antecedente de ventas de sus productos; De esa manera, los vendedores pueden informar a los consumidores si un producto está en stock o no.
Una sola acción, como la venta de un producto, se considera un "evento", y los eventos relacionados, como agregar un artículo a la caja, suelen agrupar como un "tema" o "flujo". Luego, estos eventos se transportan a través de sistemas de mensajería o intermediarios de mensajes, como la oferta de código abierto Apache Kafka.
Dado que los eventos de datos se procesan poco luego de ocurrir, los sistemas de procesamiento de transmisión tienen una latencia más baja que los sistemas por lotes, pero no se consideran tan confiables como los sistemas de procesamiento por lotes, ya que los mensajes pueden descartar involuntariamente o pasar mucho tiempo en la cola.
Los agentes de mensajes ayudan a abordar esta preocupación a través de los acuses de recibo, donde un consumidor confirma el procesamiento del mensaje al agente para eliminarlo de la cola.
Los pipelines de integración de datos se concentran en la fusión de datos de múltiples fuentes en una única vista unificada.
Estos pipelines a menudo implican procesos de extracción, transformación y carga (ETL) que limpian, enriquecen o modifican datos sin procesar antes de almacenarlos en un repositorio centralizado, como un data warehouse o data lake. Los pipelines de integración de datos son esenciales para manejar sistemas dispares que generan formatos o estructuras incompatibles. Por ejemplo, se puede agregar una conexión a Amazon S3 (Amazon Simple Storage Service), un servicio que ofrece Amazon Web Services (AWS) que proporciona almacenamiento de objetos a través de una interfaz de servicio web.
Una plataforma de datos moderna incluye una suite de productos de software cloud first, nativos de la nube que facilitan la recopilación, limpieza, transformación y análisis de los datos de una organización para ayudar a mejorar la toma de decisiones. Los pipeline de datos actuales se han vuelto cada vez más complejos e importantes para los analytics de datos y la toma de decisiones basadas en datos.
Una plataforma de datos moderna genera confianza en estos datos al ingerirlos, almacenarlos, procesarlos y transformarlos de una manera que garantice información precisa y oportuna, reduzca los silos de datos, permita el autoservicio y mejore la calidad de los datos.
La arquitectura de una pipeline de datos consta de tres pasos fundamentales
Los datos se recopilan de diversas fuentes, incluidas plataformas de software como servicio (SaaS), dispositivos de Internet de las cosas (IoT) y dispositivos móviles, y de diversas estructuras de datos, tanto estructurados como no estructurados. Dentro de la transmisión de datos, estas fuentes de datos sin procesar generalmente se conocen como productores, editores o remitentes.
Si bien las empresas pueden optar por extraer datos solo cuando estén listas para procesarlos, es una mejor práctica colocar primero los datos sin procesar en un proveedor de almacenamiento de datos en la nube. De esta manera, la empresa puede actualizar cualquier dato histórico si necesita realizar ajustes en los trabajos de procesamiento de datos. Durante este proceso de ingesta de datos, se pueden realizar varias validaciones y comprobaciones para garantizar la coherencia y precisión de los datos.
Durante este paso, se ejecutan un serial de trabajos para procesar los datos en el formato requerido por el repositorio de datos de destino. Estos trabajos incorporan automatización y gobernanza para flujos de trabajo repetitivos, como la elaboración de reportes empresariales, lo que garantiza que los datos se limpien y transformen de forma coherente. Por ejemplo, un flujo de datos puede venir en formato JSON anidado, y la etapa de transformación de datos tendrá como objetivo desenrollar ese JSON para extraer los campos clave para el análisis.
Los datos transformados se almacenan dentro de un repositorio de datos, donde pueden exponerse a varias partes interesadas. Dentro de los datos de streaming, estos datos transformados suelen conocer como consumidores, suscriptores o destinatarios.
Es posible que algunos términos, como pipeline de datos y pipeline ETL, se empleen indistintamente en una conversación. Sin embargo, debe pensar en una pipeline ETL como una subcategoría de canalizaciones de datos. Los dos tipos de pipelines se distinguen por tres características clave:
A medida que el big data continúa creciendo, la gestión de datos se convierte en una prioridad cada vez mayor. Si bien los pipelines de datos cumplen varias funciones, las siguientes son para aplicaciones comerciales:
IBM® DataStage es una herramienta de integración de datos líder en la industria que ayuda a diseñar, desarrollar y ejecutar trabajos que mueven y transforman datos.
IBM® Data Replication es un software de sincronización de datos que mantiene almacenados varios datos casi en tiempo real. IBM Data Replication es una solución de bajo impacto, que solo rastrea los cambios de datos capturados por el registro.
IBM® Databand es un software de observabilidad para pipelines y almacenes de datos que recopila metadatos automáticamente para crear líneas de base históricas, detectar anomalías, clasificar alertas y monitorear el estado y la confiabilidad de los grafos acíclicos dirigidos (DAG) de Apache Airflow.
IBM® watsonx.data es un almacén de datos apto para su propósito construido sobre una arquitectura de data lakehouse abierta para escalar las cargas de trabajo de análisis e IA, para todos sus datos, en cualquier lugar.
Lea el smartpaper sobre cómo crear una base de datos sólida para la IA al centrarse en tres áreas clave de gestión de datos: acceso, gobernanza y privacidad y cumplimiento.
Descubra cómo el State Bank of India utilizó varias soluciones de IBM, junto con la metodología IBM Garage, para desarrollar una completa plataforma de banca en línea.