¿Qué es una canalización de datos?

14 de junio de 2024

Autores

Cole Stryker

Editorial Lead, AI Models

¿Qué es una canalización de datos?

Un pipeline de datos es un método en el que se ingieren datos sin procesar de diversas fuentes de datos, se transforman y luego se transportan para analizarlos en un almacén de datos, como un data lake o un almacén de datos.

Antes de que los datos lleguen a un repositorio, suelen someterse a algún tipo de proceso. Esto incluye las transformaciones de datos, como el filtrado, el enmascaramiento y las agregaciones, que garantizan una integración y estandarización de datos adecuadas. Esto es especialmente 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, hacer coincidir columnas y tipos de datos, para actualizar los datos existentes con los nuevos.

Como su nombre sugiere, los pipelines de datos actúan como "canalización" para proyectos de ciencia de datos o paneles de control de inteligencia empresarial. Los datos se pueden obtener a través de una amplia variedad de lugares (API, bases de datos SQL y NoSQL, archivos, etc.), pero desafortunadamente, esos datos generalmente no están 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 una canalización de datos suele determinarse a través de una combinación de análisis de datos exploratorios y requisitos empresariales definidos. Una vez que los datos se han filtrado, combinado y resumido adecuadamente, se pueden almacenar y exponer para su uso. Los pipelines de datos bien organizadas proporcionan la base para una variedad de proyectos de datos; esto puede incluir análisis exploratorios de datos, visualizaciones de datos y tareas de machine learning.

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

Tipos de canalizaciones de datos

Existen varios tipos de pipelines de datos, cada uno adecuado para tareas específicas en plataformas específicas. Los tipos más comunes incluyen

  • Pipelines de procesamiento por lotes
  • Pipelines de datos de streaming
  • Pipelines de integración de datos
  • Pipelines nativos de la nube

Procesamiento por lotes

El desarrollo del procesamiento por lotes fue un paso crítico en la creación de infraestructuras de datos fiables y escalables. En 2004, MapReduce, un algoritmo de procesamiento por lotes, fue patentado y luego integrado posteriormente en sistemas de código abierto, como Hadoop, CouchDB y MongoDB.

Como su nombre 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 de menor actividad. 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 la canalización de datos óptima cuando no hay una necesidad inmediata de analizar un conjunto de datos específico (por ejemplo, la contabilidad mensual), y se asocia más 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 podría iniciar la ingesta de datos, el siguiente comando puede activar el filtrado de columnas específicas y el comando posterior puede manejar la agregación. Esta serie de comandos continuará hasta que la calidad de los datos se transforme por completo y se vuelva a escribir en un repositorio de datos.

Transmisión de datos

A diferencia del procesamiento por lotes, los pipelines de datos de streaming, también conocidos 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 aguas abajo para su posterior análisis.

Los datos de streaming se aprovecha cuando es necesario que los datos se actualicen continuamente. Por ejemplo, las aplicaciones o los sistemas de punto de venta necesitan datos en tiempo real para actualizar el inventario y el historial de ventas de sus productos; de ese modo, 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 añadir un artículo a la caja, suelen agruparse en "tema" o "flujo". Estos eventos se transportan entonces a través de sistemas de mensajería o agentes de mensajería, como la oferta de código abierto, Apache Kafka.

Dado que los eventos de datos se procesan poco después de producirse, los sistemas de procesamiento de flujo tienen una latencia menor que los sistemas por lotes, pero no se consideran tan fiables como estos, ya que los mensajes pueden caer involuntariamente o pasar mucho tiempo en cola. Los agentes de mensajes ayudan a abordar esta preocupación a través de las confirmaciones, en las que un consumidor confirma el procesamiento del mensaje al agente para eliminarlo de la cola.

Pipelines de integración de datos

Los pipelines de integración de datos se concentran en fusionar datos de múltiples fuentes en una única vista unificada. Estos pipelines suelen implicar procesos de extracción, transformación y carga (ETL) que limpian, enriquecen o modifican de otro modo los datos sin procesar antes de almacenarlos en un repositorio centralizado, como un almacén de datos o un lago 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 ofrecido por Amazon Web Services (AWS) que proporciona almacenamiento de objetos a través de una interfaz de servicio web.

Pipelines de datos nativas de la nube

Una plataforma de datos moderna incluye un conjunto de productos de software nativos de la nube y diseñados para la nube que permiten recopilar, limpiar, transformar y analizar los datos de una organización para ayudar a mejorar la toma de decisiones. Los pipelines de datos se han vuelto cada vez más complejos e esenciales para el análisis de datos y para la toma de decisiones basadas en datos. Una plataforma de datos moderna genera confianza en estos datos ingiriéndolos, almacenándolos, procesándolos y transformándolos de forma que se garantice una información precisa y oportuna, se reduzcan los silos de datos, se permita el autoservicio y se mejore la calidad de los datos.

Mixture of Experts | 25 de abril, episodio 52

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Arquitectura de canalización de datos

La arquitectura de un pipeline de datos está formada por tres pasos principales.

1. Ingesta de datos: los datos se recopilan de varias fuentes, incluidas las plataformas de software como servicio (SaaS), los dispositivos de Internet de las cosas (IoT) y los dispositivos móviles, y varias estructuras de datos, tanto datos estructurados como no estructurados. Dentro de los datos de streaming, estas fuentes de datos sin procesar se conocen normalmente como productores, editores o remitentes. Aunque las empresas pueden optar por extraer datos solo cuando estén listas para procesarlos, es una buena práctica aterrizar primero los datos sin procesar dentro de un proveedor de almacén de datos en la nube. De esta manera, la empresa puede actualizar cualquier dato histórico si necesita realizar ajustes en los trabajos de proceso 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.

2. Transformación de datos: durante este paso, se ejecutan una serie de trabajos para procesar los datos en el formato requerido por el repositorio de datos de destino. Estos trabajos incorporan la automatización y el gobierno en los flujos de trabajo repetitivos, como los informes empresariales, asegurando que los datos se limpien y transformen de manera consistente. Por ejemplo, un flujo de datos puede venir en un 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.

3. Almacenamiento de datos: a continuación, los datos transformados se almacenan en un depósito de datos, donde pueden exponerse a las distintas partes interesadas. Dentro de los datos de streaming, estos datos transformados se conocen normalmente como consumidores, suscriptores o destinatarios.

Canalización de datos frente a canalización ETL

Es posible que descubra que algunos términos, como pipeline de datos y pipeline ETL, se usan indistintamente en conversaciones. Sin embargo, debería pensar en un pipeline ETL como una subcategoría de los pipelines de datos. Los dos tipos de pipelines se distinguen por tres características clave:

  • Los pipelines ETL siguen una secuencia específica. Como implica la abreviatura, extraen datos, transforman datos y, a continuación, cargan y almacenan datos en un repositorio de datos. No todos los pipelines de datos necesitan seguir esta secuencia. De hecho, los pipelines ELT (extraer, cargar, transformar) se han hecho más populares con la llegada de las herramientas nativas de la nube, en las que los datos pueden generarse y almacenarse en múltiples fuentes y plataformas. Aunque la ingesta de datos sigue ocurriendo primero con este tipo de pipeline, las transformaciones se aplican después de que los datos se hayan cargado en el almacenamiento de datos basado en la nube.

  • Los pipelines ETL también tienden a implicar el uso del procesamiento por lotes, pero como se ha indicado anteriormente, el alcance de los pipelines de datos es más amplio. También pueden incluir el procesamiento de flujos.

  • Por último, aunque es poco probable, los pipelines de datos en su conjunto no necesitan necesariamente someterse a transformaciones de datos, como ocurre con los pipelines ETL. Es raro ver un pipeline de datos que no utilice transformaciones para facilitar el análisis de datos.

Casos de uso de canalizaciones de datos

A medida que el big data sigue creciendo, la gestión de datos se convierte en una prioridad cada vez mayor. Aunque los pipelines de datos cumplen diversas funciones, las siguientes corresponden a aplicaciones empresariales:

  • Análisis de datos exploratorios: los científicos de datos utilizan el análisis de datos exploratorios (EDA) para analizar e investigar conjuntos de datos y resumir sus características principales, a menudo utilizando métodos de visualización de datos. El EDA ayuda a determinar la mejor manera de manipular las fuentes de datos para obtener las respuestas que necesita, lo que facilita a los científicos de datos descubrir patrones, detectar anomalías, probar una hipótesis o verificar suposiciones.

  • Visualizaciones de datos: para representar los datos mediante gráficos comunes, se pueden crear visualizaciones de datos como gráficos, diagramas, infografías e incluso animaciones. Estas pantallas visuales de información comunican relaciones de datos complejas y conocimientos basados en datos de una manera fácil de entender.

  • Machine learning: una rama de la inteligencia artificial (IA) y las ciencias de la computación, el machine learning se centra en el uso de datos y algoritmos para imitar la forma en que aprenden los humanos, mejorando gradualmente su precisión. Mediante el uso de métodos estadísticos, los algoritmos se entrenan para hacer clasificaciones o predicciones, descubriendo conocimientos clave dentro de los proyectos de minería de datos.

  • Observabilidad de los datos: para verificar la precisión y la seguridad de los datos que se están utilizando, la observabilidad de los datos aplica una variedad de herramientas para monitorizar, rastrear y alertar tanto de eventos esperados como de anomalías.
Soluciones relacionadas
IBM StreamSets

Cree y gestione canalizaciones de datos de streaming inteligentes a través de una interfaz gráfica intuitiva, y facilite una integración de datos fluida en entornos híbridos y multinube.

Explore StreamSets
IBM Databand

Descubra IBM Databand, el software de observabilidad para canalizaciones de datos. Recopila metadatos automáticamente para crear líneas de base históricas, detectar anomalías y crear flujos de trabajo para solucionar problemas relacionados con la calidad de los datos.

Explorar Databand
Soluciones de integración de datos

Cree canalizaciones de datos resilientes, de alto rendimiento y con costes optimizados para sus iniciativas de IA generativa, análisis en tiempo real, modernización de almacenes y necesidades operativas con las soluciones de integración de datos de IBM.

Descubra las soluciones de integración de datos
Dé el siguiente paso

Descubra IBM DataStage, una herramienta ETL (Extracción, Transformación y Carga) que ofrece una interfaz visual para diseñar, desarrollar e implementar canalizaciones de datos. Está disponible como SaaS gestionado en IBM Cloud, para autoalojamiento y como complemento de IBM Cloud Pak for Data.

Explorar DataStage Explore los servicios de análisis