carloscastilla - Fotolia
Tres formas de convertir viejos archivos en conjuntos de datos Hadoop en un lago de datos
Los lagos de datos de Hadoop ofrecen un nuevo hogar para los datos heredados que aún tienen valor analítico. Pero hay diferentes formas de convertir los datos para su uso en Hadoop, en función de sus necesidades de análisis.
A medida que las organizaciones reconsideran sus arquitecturas de datos para habilitar nuevas aplicaciones de análisis, vemos una transición en la cual los data warehouses tradicionales están siendo aumentados por los entornos de big data. Y aunque los lagos de datos Hadoop suelen contener nuevos tipos de datos, también pueden ser un repositorio adecuado para información más antigua que tiene valor analítico a la espera de ser aprovechado.
Una de las razones por las cuales los sistemas Hadoop se están integrando con almacenes de datos es mover datos fríos a los que no se accede frecuentemente desde una base de datos de almacén a tablas Hive que se ejecutan sobre el sistema de archivos distribuidos de Hadoop (HDFS). Esta mezcla de bases de datos convencionales con Hadoop a menudo es un primer paso en el proceso de modernización de datos, y abre un rango de nuevas opciones para crear conjuntos de datos útiles de Hadoop.
Un aspecto particularmente prometedor implica la migración de volúmenes masivos de datos históricos escondidos en muchos almacenes de datos a entornos de big data para hacer que la información sea más accesible para el análisis. En muchos casos, esos datos se almacenan en archivos de mainframe, como archivos VSAM, IMS y COBOL. Al planificar una migración de datos heredada a un lago de datos, debe considerar las diferentes alternativas para el formato de destino en función de los casos de uso anticipados para los datos.
Por ejemplo, si el objetivo es simplemente mover los datos de una plataforma obsoleta a una más moderno para el almacenamiento continuo, el enfoque sensato podría ser simplemente copiar los archivos del mainframe a HDFS y aprovechar la redundancia y tolerancia a fallas que los clusters Hadoop proporcionan. Una vez que todos los archivos se hayan movido, puede pasar a preparar el sistema viejo para su jubilación.
Más que un trabajo de recuperación de datos
Sin embargo, existe un creciente interés no solo en recuperar los datos heredados, sino también en usarlos de manera productiva. Muchos conjuntos de datos más viejos incluyen años de datos de transacciones o registros operacionales que pueden estar sujetos a diversas formas de análisis avanzado, como análisis de series de tiempo y algoritmos de aprendizaje automático, para buscar patrones en los datos que pueden ayudar a predecir las tendencias futuras y las oportunidades de negocios.
Si ese es su objetivo, copiar los archivos existentes como están no será suficiente, a menos que sus aplicaciones analíticas estén diseñadas para leerlas en el formato de fuente del mainframe original. La pregunta es: ¿Cómo se transforman los archivos heredados en conjuntos de datos de Hadoop que se adaptan a la analítica de hoy en día?
Veamos tres alternativas para convertir archivos de mainframe a formatos que pueden admitir un análisis más amplio de los datos.
- Transformación de archivo a archivo. En este enfoque, los archivos heredados originales se transforman en un formato moderno, como un archivo de texto ASCII, y la colección original de instancias de datos se mantiene dentro de los nuevos archivos. Es adecuado para un entorno de lago de datos simple en el que los conjuntos de datos de Hadoop se almacenan y gestionan como activos de datos singulares.
Además, esta opción puede mantener los tipos de uso de datos existentes que no dependen de nuevos métodos de análisis y administración de datos, por ejemplo, casos en los cuales los usuarios probablemente soliciten extractos de datos a gran escala que involucren escaneos simples a través de conjuntos de archivos. Como resultado, las organizaciones que están comenzando su viaje hacia la modernización de datos pueden elegir este curso como el camino de menor resistencia internamente.
- Almacenamiento basado en SQL. Un enfoque diferente es aprovechar los motores de datos basados en SQL que están superpuestos a Hadoop y otras plataformas de big data. Los ejemplos incluyen Hive, Impala, Presto, Drill, IBM Big SQL y Spark SQL. La alternativa de SQL sobre Hadoop es un poco más compleja, ya que requiere la introducción de procesos de integración de datos para transformar los datos heredados en un formato que se puede cargar en HDFS u otro repositorio, y luego consultar a través de SQL.
Sin embargo, una vez hecho esto, los usuarios pueden ejecutar consultas SQL estándar para acceder y analizar los datos. Esta opción admite aplicaciones para el análisis dimensional, así como consultas directas ad-hoc e incluso algún nivel de servicios de datos automatizados.
- Almacenamiento individual de objetos. La tercera forma consiste en transformar cada instancia de datos en su propio objeto utilizando una representación creada con tecnologías como XML y JSON. Hacerlo proporciona una flexibilidad mucho mayor cuando se trata de analizar conjuntos de datos de Hadoop porque una colección de objetos almacenados en una arquitectura de lago de datos en clúster proporciona un entorno natural para ejecutar los programas MapReduce o Spark que pueden escalar a través de datos distribuidos.
Esta opción puede requerir un trabajo adicional para transformar los datos heredados en el formato de destino. Sin embargo, el repositorio resultante en HDFS o en otra parte es capaz de soportar las solicitudes de extractos de datos, una mezcla de aplicaciones analíticas avanzadas, y servicios de datos en los cuales se puede lanzar invocaciones de API específicas mediante el acceso a objetos solicitados sobre la base de un nombre o meta etiqueta.
Entonces, ¿cuál es la mejor manera de hacerlo? Eso depende en gran medida de los tipos de usos analíticos que una organización tiene en mente. Pero es importante reconocer que la modernización de datos generalmente no ocurre de la noche a la mañana. De hecho, con el tiempo, a medida que la comunidad de usuarios de datos crece y sus necesidades analíticas se expanden, puede haber oportunidades para aprovechar cada uno de estos enfoques para maximizar el valor de los conjuntos de datos Hadoop resultantes.