Los Data Pipelines son una serie de tareas organizadas en un Gráfico Acíclico Dirigido o “DAG”. Históricamente, estos se ejecutan en paquetes de orquestación de flujo de trabajo de código abierto como Flujo de aire o Prefectoy necesito que yoinfraestructura gestionado por ingenieros de datos o equipos de plataforma. Estas canalizaciones de datos normalmente se ejecutan en un cronogramay permitir a los ingenieros de datos actualizar datos en ubicaciones como almacenes de datos o lagos de datos.
Esto ahora está cambiando. Hay un gran cambio de mentalidad sucediendo. A medida que la industria de la ingeniería de datos madura, la mentalidad está cambiando de una mentalidad de “mover datos para servir al negocio a toda costa” a una mentalidad de “confiabilidad y eficiencia”/“ingeniería de software”.
Integración y entrega continua de datos
He escrito antes sobre cómo Envío de equipos de datos datos mientras que los equipos de software envían código.
Este es un proceso llamado «Integración y entrega continua de datos» y es el proceso de lanzar datos a producción de manera confiable y eficiente. Existen diferencias sutiles con la definición de “CI/CD”como se usa en Software Engineer, ilustrado a continuación.
En ingeniería de software, la entrega continua no es trivial debido a la importancia de tener un réplica casi exacta para que el código funcione en un entorno de prueba.
Dentro de Ingeniería de Datos esto no es necesario porque el bien que enviamos es datos. Si hay una tabla de datos, y nosotros saber que mientras se cumplan unas cuantas condiciones, los datos es de una calidad suficiente para ser utilizada, entonces eso es suficiente para que sea “lanzada” a producción, por así decirlo.
El proceso de lanzar datos a producción (el análogo de la entrega continua) es muy simple, ya que simplemente se relaciona con copiar o clonación un conjunto de datos.
Además, un pilar clave de la ingeniería de datos es reaccionando a nuevos datos como llega o comprobar si existen nuevos datos. No existe un análogo para esto en la ingeniería de software: las aplicaciones de software no necesitan…