Transformación de datos.
¿Qué es la transformación de datos?
La transformación de datos es el proceso de tomar datos sin procesar que se han extraído de fuentes de datos y convertirlos en conjuntos de datos utilizables. Las canalizaciones de datos suelen incluir varias transformaciones de datos, que convierten información desordenada en datos limpios, de calidad y confiables que las organizaciones pueden usar para satisfacer necesidades operativas y crear información procesable. El proceso de transformación de datos es un proceso clave en la ingeniería de datos.
Más temas para descubrir
¿Por qué es importante la transformación de datos?
El proceso de transformación de datos es fundamental para obtener valor de los datos sin procesar. Las organizaciones recopilan grandes cantidades de datos que pueden incluir inconsistencias, valores faltantes o duplicados. Al limpiar y transformar los conjuntos de datos, los líderes pueden estar seguros de que toman decisiones basadas en datos confiables, oportunos y precisos.
La transformación de datos ayuda a mejorar la calidad de los datos al mejorar su compatibilidad y usabilidad. Al estandarizar los formatos para garantizar la coherencia en las diferentes fuentes de datos, a los líderes les resulta más fácil analizar e integrar datos de calidad en sus decisiones.
Los datos estandarizados también facilitan la recopilación y el almacenamiento de datos en diversos sistemas. En un entorno empresarial donde los datos provienen de múltiples canales, mantener la uniformidad de los datos es esencial para lograr una comprensión coherente de la información. Al resolver las inconsistencias y prepararlos para su almacenamiento en un data warehouse o data lake, la transformación de datos crea una base sólida para el análisis, la generación de informes y la toma de decisiones.
La transformación de datos también es fundamental para identificar y eliminar los registros duplicados y limpiar los valores faltantes dentro de un conjunto de datos. La falta de datos o su duplicación puede sesgar el análisis y dificultar la extracción de conclusiones significativas.
Además, la transformación de datos garantiza la compatibilidad con diversas herramientas y técnicas de análisis. Los datos sin procesar, por ejemplo, a menudo existen en formatos o estructuras dispares, y esto puede ser difícil de integrar con diferentes software o plataformas de análisis. Estandarizar los datos ayuda a integrarlos sin problemas en todas las plataformas para que puedan ser explorados en busca de patrones e información valiosa.
Transformación de datos y ETL
La transformación de datos es el núcleo de la extracción, transformación y carga (ETL). Este es el proceso que usan los ingenieros de datos para extraer datos de distintas fuentes, transformarlos en un recurso útil y confiable, y cargarlos en los sistemas a los que los usuarios finales pueden acceder y usar posteriormente para resolver problemas de negocio. En la etapa de transformación, los datos se limpian, se mapean y se transforman, a menudo según un esquema específico.
Ejemplos de transformación de datos
Se pueden utilizar varios tipos diferentes de transformación para garantizar la calidad y la integridad de los datos. Estos van desde la deduplicación de datos, que aumenta la calidad y el rendimiento de los datos al eliminar los datos duplicados, hasta el refinamiento de datos, que aumenta la calidad al filtrar los datos irrelevantes, y la integración de datos, en la que se fusionan diferentes tipos de datos en la misma estructura.
Transformación de datos en la práctica: Navy Federal Credit Union
Navy Federal Credit Union es la cooperativa de crédito más grande del mundo y atiende a 13 millones de socios. Su prioridad es brindar una experiencia personalizada y omnicanal a sus miembros. Pero para entender mejor a sus socios, necesitaban ingerir y analizar datos de telemetría en línea en tiempo real. Para lograrlo, Navy Federal recurrió a las canalizaciones declarativas de Spark y a Databricks SQL.
Con los pipelines declarativos de Spark, Navy Federal pudo completar una prueba de concepto en una semana, desarrollar, probar y definir un proceso de CI/CD en tres semanas, implementar el pipeline en producción justo antes de la fecha de inicio de la primera ola de migración y lanzar el dashboard solo unos días después. “La simplicidad del modelo de programación Spark Declarative Pipelines, combinada con sus capacidades de servicio, resultó en un tiempo de respuesta increíblemente rápido”, dijo Jian (Miracle) Zhou, gerente sénior de Ingeniería en Navy Federal Credit Union. Nos permitió llevar a producción un tipo de carga de trabajo completamente nuevo en tiempo récord y con buena calidad”.
Para obtener más información sobre los tipos de transformación de datos y sus definiciones, consulte la siguiente sección.
Tipos de transformación de datos
El proceso de transformación de datos se puede realizar mediante varias técnicas diferentes, según los datos y el objetivo final de la transformación. Estos pueden incluir:
- Agrupamiento/discretización: Dividir una serie numérica en “rangos” o “contenedores” más pequeños. Esto se hace cambiando las características numéricas en características categóricas mediante un conjunto de umbrales.
- Agregación de datos: el proceso de resumir datos para que se puedan utilizar mejor en informes y visualizaciones. La agregación se puede lograr utilizando diferentes métodos, como el uso de la suma, el promedio o la mediana de los valores a lo largo del tiempo, el espacio u otras dimensiones.
- Limpieza de datos: el proceso de aumentar la precisión y la calidad de los datos eliminando información imprecisa, incompleta o desactualizada.
- Deduplicación de datos: un proceso de compresión en el que se identifican y eliminan las copias duplicadas de los datos para acelerar el proceso de transferencia de datos.
- Derivación de datos: Creación de reglas para extraer solo la información específica necesaria de la fuente de datos.
- Enriquecimiento de datos: proceso de mejora de los datos existentes mediante fuentes de datos externas para ampliar un campo de datos o complementar los campos de datos que faltan.
- Filtrado de datos: Refinamiento de datos para eliminar los que son irrelevantes y mostrar solo la información necesaria.
- Integración de datos: Fusión de diferentes tipos de datos en la misma estructura. La integración de datos estandariza los datos dispares para que puedan analizarse como un todo.
- Unión de datos: Una operación que fusiona varias tablas de bases de datos en un único conjunto de datos usando un campo de datos común.
- División de datos: Dividir una sola columna en varias columnas para analizar los datos. Esto puede ser útil para analizar grandes cantidades de datos recopilados a lo largo del tiempo.
- Resumen de datos: un tipo de agregación de datos en el que se crean diferentes métricas empresariales mediante el cálculo de los totales de los valores.
- Validación de datos: garantizar la calidad de los datos mediante la creación de reglas automatizadas que generan respuestas a problemas de datos específicos.
- Revisión de formato: el proceso de cambiar formatos para resolver problemas relacionados con campos que contienen diferentes tipos de datos.
- Reestructuración de claves: El proceso de cambiar claves con significados incorporados por claves genéricas (números aleatorios que hacen referencia a la información en la base de datos de origen) para evitar ralentizaciones en el sistema de datos.
Optimizaciones del rendimiento de la transformación de datos
El proceso de transformación de datos puede consumir mucho tiempo y recursos, por lo que optimizar el rendimiento de la transformación de datos es fundamental para reducir costos y ahorrar tiempo. Las técnicas de optimización del rendimiento incluyen:
- Compactación de datos: esta técnica implica reducir la huella de almacenamiento de los datos consolidando archivos más pequeños en otros más grandes, eliminando datos redundantes o innecesarios y optimizando el formato para una lectura y escritura eficientes.
- Particionamiento: Esto implica dividir un gran conjunto de datos en particiones más pequeñas y manejables según criterios específicos, como fecha, región o categoría. Esto puede mejorar el rendimiento de las consultas, ya que permite el procesamiento en paralelo y reduce la cantidad de datos que se deben analizar.
- Ajuste del tamaño de los archivos: esto implica ajustar los tamaños de los archivos para equilibrar el rendimiento y la utilización de recursos. Esto puede implicar dividir archivos grandes en partes más pequeñas o combinar archivos pequeños en otros más grandes.
- Omisión y poda de datos: esta técnica implica omitir datos irrelevantes o podar datos innecesarios para minimizar la cantidad de datos leídos y procesados. Al aprovechar enfoques como metadatos, indexación o particionamiento, el sistema puede eliminar análisis de datos innecesarios, lo que se traduce en mejoras significativas en el rendimiento.
- Almacenamiento de datos en caché: Este se refiere al proceso de almacenar datos de acceso frecuente en la memoria o en capas de almacenamiento de acceso rápido, lo que reduce la necesidad de volver a procesar u obtener datos de fuentes más lentas repetidamente. Esto puede mejorar significativamente el rendimiento de lectura y reducir la latencia.
Obtenga más información sobre cómo optimizar el rendimiento de la transformación de datos con nuestra guía completa.
Herramientas de transformación de datos
La transformación de datos es fundamental para crear datos confiables que las organizaciones puedan usar para obtener información. Sin embargo, el proceso de transformación de datos y todo el proceso de ETL presentan serios desafíos, desde la creación y el mantenimiento de canalizaciones de datos confiables hasta la gestión de la calidad de los datos en arquitecturas de canalización cada vez más complejas. Las herramientas de transformación de datos agilizan y democratizan la transformación, y simplifican el ciclo de vida de ETL. Sin embargo, existen algunas diferencias clave en la forma en que pueden funcionar las herramientas de ETL.
Procesamiento por lotes frente a streaming
El procesamiento por lotes se refiere al proceso de extraer, transformar y cargar datos en fragmentos y a intervalos. Esta es una excelente herramienta para procesar grandes volúmenes de datos de manera eficiente y es ideal cuando los datos no necesitan procesarse en tiempo real.
El streaming significa que los datos se procesan a medida que se reciben. Esta extracción continua de datos es ideal para las organizaciones que necesitan información actualizada, como en un panel de control en vivo o para el monitoreo y las alertas en tiempo real.
Algunas herramientas de ETL pueden gestionar tanto el procesamiento por lotes como el de transmisión, mientras que otras están más adaptadas para uno u otro.
Local frente a la nube
La ETL local se ejecuta dentro de la propia infraestructura de una organización. Este modelo le da control total sobre la seguridad, el almacenamiento y el procesamiento de los datos, pero también requiere costos significativos de hardware y mantenimiento.
Las herramientas de ETL en la nube ofrecen a las empresas más flexibilidad y eficiencia de costos. Se integran a la perfección con las soluciones de almacenamiento en la nube y los data warehouses en la nube y, a menudo, tienen funciones de automatización integradas para que el procesamiento de datos sea más eficiente.
Código abierto vs. propietario
Las herramientas de código abierto son ideales para las empresas que buscan flexibilidad y personalización. Los ingenieros pueden estudiar el código fuente para determinar la compilación precisa de la infraestructura y modificar sus capacidades para que se adapten mejor a las necesidades de datos de una organización. Tenga en cuenta que la documentación y la funcionalidad pueden variar en estas herramientas, ya que a menudo son creadas por un grupo descentralizado de desarrolladores.
Existen numerosos sistemas ETL propietarios. Dado que estas herramientas están respaldadas por grandes organizaciones, y no por un grupo difuso de ingenieros, los clientes suelen beneficiarse de una implementación y un mantenimiento más fluidos, así como de asistencia al cliente y actualizaciones frecuentes.
Sin código/bajo código frente a codificable
Las herramientas sin código son ideales para usuarios con menos conocimientos técnicos o aquellos sin experiencia en ingeniería de datos. En lugar de código, estas usan interfaces gráficas de usuario (GUI) donde los usuarios pueden arrastrar y soltar componentes para diseñar flujos de trabajo de ETL. Aunque no son tan personalizables como las herramientas de bajo código, sí ofrecen soluciones sencillas para organizaciones que necesitan herramientas de integración de datos rápidas y sencillas.
Las herramientas de ETL completamente programables permiten a los usuarios tener control total sobre sus pipelines de ETL y escribir código personalizado para definir instrucciones precisas para sus datos. Estas herramientas están diseñadas para usuarios más técnicos, como ingenieros de datos o desarrolladores.
En el medio se encuentran las herramientas ETL de bajo código, dirigidas a usuarios semitécnicos que pueden tener alguna experiencia en codificación, pero que quieren evitar la codificación manual exhaustiva. Las herramientas ETL de bajo código proporcionan una combinación de interfaces visuales y opciones de codificación. Los usuarios pueden crear flujos de trabajo con elementos de arrastrar y soltar, pero también tienen la opción de personalizar ciertos pasos a través de scripts o fragmentos de código predefinidos.
Transformación de datos en la Data Intelligence Platform
Databricks ofrece herramientas esenciales para implementar y orquestar las transformaciones de datos y ETL en la plataforma de inteligencia de datos.
Spark Declarative Pipelines ayuda a los equipos de ingeniería de datos a crear y administrar fácilmente canalizaciones de datos por lotes y de transmisión confiables que entregan datos de alta calidad en la plataforma de inteligencia de datos. Spark Declarative Pipelines simplifica el desarrollo y la administración de ETL con el desarrollo de canalizaciones declarativas, pruebas automáticas y una visibilidad profunda para el monitoreo y la recuperación.
El proceso de transformación puede ser complejo. Asegúrese de estar equipado con las siguientes características para obtener los resultados que necesita:
Comprobaciones de la calidad de los datos. Garantizan que los datos ingresados en las tablas cumplan con los estándares de calidad. Por ejemplo, Spark Declarative Pipelines tiene una funcionalidad llamada Expectations, que garantiza que se apliquen controles de calidad de datos a cada registro que pasa por una consulta.
Arquitectura fácil de entender. Esto garantiza que los datos se almacenen de manera lógica y accesible. Por ejemplo, con la arquitectura de medallón, la calidad de los datos mejora de forma incremental a medida que pasan por cada capa.
Diferentes modos de actualización. Opciones como el modo activado (donde el procesamiento se detiene después de actualizar las tablas, lo que garantiza que las actualizaciones coincidan con los datos disponibles al inicio de la actualización) y el modo continuo (donde los nuevos datos se procesan tan pronto como llegan) permiten un mejor control sobre tus datos.
Lakeflow Jobs es un servicio de organización gestionado totalmente integrado que permite a los equipos de datos automatizar y organizar mejor las canalizaciones de datos. Lakeflow Jobs ayuda a los usuarios a definir, administrar y supervisar fácilmente flujos de trabajo multitarea para canalizaciones de ETL, análisis y aprendizaje automático para aumentar la productividad. Lakeflow Jobs se integra a la perfección con otras herramientas populares como dbt.


