La obtención de información práctica a partir del análisis de datos requiere datos refinados. Llevar los datos brutos al almacén de datos de destino para respaldar las decisiones empresariales requiere un proceso de varios pasos para convertir los datos brutos en datos utilizables.
¿Qué es ETL (Extraer, Cargar, Transformar)?
Los ingenieros de datos utilizan procesos ETL para preparar los datos para el análisis. ETL es el acrónimo de Extraer, Transformar y Cargar. Describe un proceso de tres pasos utilizado para extraer datos brutos de múltiples sistemas fuente y transformarlos en un formato adecuado antes de cargarlos en un almacén de datos.
Primera fase: Extracción
La primera fase del proceso ETL extrae los datos operativos brutos de uno o varios sistemas de origen. Esto puede realizarse mediante un trabajo por lotes diario si el jeu de données données que se está cargando sólo cambia a diario. El jeu de données jeu de données jeu de données se puede sobrescribir tras un comando SQL TRUNCATE TABLE si el jeu de données es pequeño. Los conjuntos de datos fuente más grandes pueden extraerse de forma incremental o parcial, tomando sólo los cambios del extracto anterior.
Una extracción parcial con una técnica de notificación de actualizaciones se utiliza cuando es necesario sincronizar los datos de origen a medida que se producen cambios para proporcionar actualizaciones casi en tiempo real al almacén de datos. El sistema de origen puede enviar los cambios a varios sistemas de destino suscritos si se trata de conexiones de uno a muchos. Los microlotes son útiles para los sistemas que cambian rápidamente. El sistema de destino puede sondear el sistema de origen cada cinco segundos en busca de cambios, que pueden aplicarse al sistema de destino casi en tiempo real.
Las bases de datos de origen pueden implementar la replicación mediante disparadores a nivel de fila que se activan cuando se produce un evento como una operación de inserción, eliminación o actualización. Estos disparadores pueden programarse para actualizar un registro de cambios del que puedan extraer datos los sistemas posteriores. El uso de un sistema de mensajería como Amazon SNS permite enviar notificaciones directamente a los sistemas de destino para informarles de las actualizaciones del sistema de origen. Este tipo de relación asíncrona entre los sistemas de datos de origen y de destino garantiza que los sistemas de origen operativos nunca se retrasen porque un sistema de destino no pueda acomodar la actualización por cualquier motivo.
Las relaciones entre los sistemas de origen y destino pueden ser una simple conexión punto a punto, sencilla de configurar y mantener. Con el tiempo, las empresas acaban creando cientos de estas conexiones punto a punto, que se convierten en una carga demasiado pesada de mantener y administrar. Llegados a este punto, una herramienta ETL vendida puede consolidar la gestión de todas las conexiones, lo que las convierte en una excelente inversión. Un aspecto importante de la extracción es recordar el origen de los datos, por lo que los sistemas pueden catalogarlos para mantener y auditar el rastro de la procedencia de los datos. La procedencia de los datos (también denominada "linaje de los datos") es métadonnées que se empareja con los registros que detallan el origen, los cambios y los detalles que respaldan los orígenes de las fuentes de datos. Rastrear las fuentes de este modo ayuda a controlar la duplicación e informa de si los datos pueden ser fidedignos o fiables.
La extracción de datos puede ser tan sencilla como importar una versión .CSV de una hoja de cálculo o tan compleja como utilizar una interfaz de programación de aplicaciones (API) de un servicio web. La mayoría de las aplicaciones empresariales proporcionan API para hacer posible la extracción mediante una aplicación o una herramienta ETL. El formato de los datos de origen a menudo dicta cómo se pueden extraer. Un flujo JSON, por ejemplo, requiere el uso de una API de servicios web. Un archivo plano puede leerse secuencialmente. Una fuente de base de datos suele tener una utilidad de exportación para descargar los datos en un archivo plano.
Segundo paso: transformación
Los datos brutos de una fuente operativa suelen necesitar cierta manipulación y limpieza para que sean aptos para el consumo general. La transformación de los datos suele realizarse en una base de datos intermedia o de preparación. Los datos sin procesar pueden contener datos sobrantes que deben filtrarse. Pueden tener lagunas que pueden rellenarse con valores por defecto o datos interpolados. Los datos duplicados pueden agregarse o eliminarse en función del uso previsto en la base de datos de destino. Si se extraen datos relacionados de varias fuentes, pueden fusionarse para crear un único registro. Los valores de los datos pueden normalizarse. Por ejemplo, las distintas fuentes de datos de clientes pueden registrarlos de forma diferente. Un sistema puede escribir el estado como "Nueva York", y otros utilizan una abreviatura como "NY". La normalización de la abreviatura puede realizarse durante la transformación de los datos. La transformación puede incluir operaciones de calidad de los datos, como la verificación de los valores en varias fuentes antes de transmitirlos como valores de confianza.
Tercer paso: Cargar
La carga de datos en el sistema de destino es el último paso del proceso ETL. La carga de datos puede realizarse mediante una utilidad de carga masiva, streaming de datos, mensajería asíncrona o un programa personalizado. Los datos existentes pueden sobrescribirse por completo, aumentarse o actualizarse parcialmente con valores nuevos. La frecuencia de actualización puede realizarse por lotes, como por la noche, periódicamente en microlotes o continuamente en un flujo de datos.
¿Qué es Extraer, Cargar, Transformar (ELT)?
ELT son las siglas en inglés de Extraer, Cargar y Transformar. ELT se aleja del proceso ELT tradicional al realizar transformaciones de datos dentro de una base de datos de destino o intermedia, normalmente utilizando SQL para ello. ELT completa la transformación de datos antes de cargar el almacén de datos para evitar tener datos sin procesar en el almacén de datos de destino.
ETL vs. ELT. ¿Qué diferencias tienen?
Hay dos diferencias principales cuando hablamos de ETL frente a ELT:
- La ETL se centra en cargar datos transformados y más limpios en el almacén de datos de destino.
- ELT transforma los datos brutos en el almacén de datos.
- ETL utiliza un almacén de datos intermedio y un servidor de base de datos para transformar los datos.
- ELT realiza transformaciones de datos dentro del almacén de datos de destino.
ETL puede considerarse más complejo porque utiliza más servidores y almacenes de datos que ELT. Esto hace que ELT parezca un pipeline de données más ágil. La carga y descarga de datos puede ser lenta, por lo que realizar la transformación en el mismo servidor puede ser más rápido. La idea de ELT fue propuesta y popularizada por proveedores de almacenes de datos como Teradata, ya que animaba a los clientes a adquirir licencias de sistemas de almacenes de datos más extensos.
ETL vs. ELT: ¿Cuál es mejor?
Hay que tener en cuenta varios factores a la hora de decidirse por ETL o ELT. Si tiene una capacidad limitada en su almacén de datos, utilice ETL. Dado que ELT sólo requiere buenos conocimientos de SQL, puede ahorrar a su equipo el aprendizaje de herramientas externas para realizar transformaciones de datos. Si los datos de origen necesitan un cambio mínimo, como la eliminación de datos duplicados, entonces ELT es un buen enfoque. Si los datos de origen necesitan rellenarse, fusionarse con otras fuentes y cambiarse los tipos de datos, entonces ELT es una mejor opción.
ETL con Actian DataConnect
Para soportar mejor el ETL, Actian DataConnect proporciona un Editor de Extracción que le permite marcar datos no estructurados, extraer los campos de datos requeridos de varias líneas del archivo y ensamblar los campos en un registro de datos plano. El contenido extraído se presenta en formato tabular de filas y columnas, que puede visualizar antes de convertir los datos a un formato de destino. Los datos extraídos se utilizan como fuente en el Editor de mapas para otras actividades de transformación de datos. El Editor de Extractos proporciona un amplio conjunto de reglas y acciones de reconocimiento de patrones para ayudar en la extracción limpia de datos.
Actian DataConnect puede analizar datos en columnas en texto seleccionado utilizando un separador de columnas dado. Esto dividirá una línea de texto en múltiples campos de datos. Los datos etiquetados pueden utilizar un valor separador de etiquetas especificado por el usuario para dividir una línea de texto en un patrón de reconocimiento de línea y un campo de datos de columnas fijas de inicio y fin.
Los scripts de extracción pueden generarse guardando los archivos de extracción como un archivo de script Content Extraction Language (CXL). Actian DataConnect proporciona un motor de ejecución, que es un motor Embarqué, de haute performance y multiplataforma. Ejecuta los artefactos de integración creados utilizando el IDE de Actian DataConnect Studio o Studio SDK en servidores Windows o Linux. El mismo paquete de integración portátil (archivo .djar) puede ejecutarse en cualquiera de estas plataformas sin cambios en el código.
El motor de ejecución puede invocarse a través de una interfaz de línea de comandos (CLI), Java SDK, Integration Manager o su API. Esta sección proporciona información sobre el uso del Motor de Tiempo de Ejecución a través de la CLI. Actian Data Platform incluye un motor de tiempo de ejecución gratuito, que puede actualizarse para soportar múltiples flujos de trabajo paralelos para cargar datos en entrepôt de données cloud. Actian hace que ETL y ETL sean mucho más manejables al incluir Actian Data Platform, un robusto almacén de datos basado en la nube con las capacidades de integración de datos para poblarlo desde múltiples fuentes de datos on-premise y SaaS.
Es hora de facilitar sus datos; visite nuestro sitio web para obtener más información sobre el conjunto de productos y soluciones de datos de Actian.