Hadoop como un motor de pre-procesamiento de datos

Uno de los primeros casos de uso para Hadoop en la empresa era como un motor de transformación programática utilizada para preprocesar los datos con destino a un almacén de datos. En esencia, este caso de uso aprovecha la potencia del ecosistema Hadoop para manipular y aplicar transformaciones a los datos antes de se carga en un almacén de datos.

Video: Conferencia de Fernando Agudo en UAM: Hadoop, El motor de la evolución

Aunque el motor de transformación real es nuevo (es Hadoop, por lo que las transformaciones y los flujos de datos se codifican de cerdo o de MapReduce, entre otros idiomas), el enfoque en sí ha estado en uso un rato con la extracción, transformación, carga de procesos (ETL).

Piense acerca de la evolución de las bases de datos OLTP y ROLAP. Muchas organizaciones con bases de datos operacionales también despliegan los almacenes de datos. Entonces, ¿cómo los departamentos de TI obtienen los datos de sus bases de datos operacionales en sus almacenes de datos? (Recuerde que los datos operativos no está típicamente en una forma que se presta a análisis.)

La respuesta aquí es ETL, y como almacenes de datos aumentaron en uso e importancia, los pasos en el proceso llegó a ser bien entendido y se han desarrollado las mejores prácticas. Además, un número de compañías de software comenzó a ofrecer soluciones ETL interesantes para que los departamentos de TI podrían minimizar su propio desarrollo de código personalizado.

El proceso de ETL básico es bastante sencillo: se midatos XTRACT de una base de datos operativa, Transform en el formulario que necesita para su análisis y herramientas de reporte, y luego Load estos datos en su almacén de datos.

Una variante común de ETL es ELT - Extracto de carga, y transformar. En el proceso de ELT, de llevar a cabo transformaciones (en contraste con ETL) después la carga de los datos en el repositorio de destino. Este enfoque se utiliza a menudo cuando la transformación se beneficia enormemente de un motor de procesamiento de SQL muy rápido en los datos estructurados. (Bases de datos relacionales no pueden sobresalir en el procesamiento de los datos no estructurados, pero realizar un procesamiento muy rápido de - adivinar qué? -. Datos estructurados)

Si los datos que está transformando está destinado a un almacén de datos, y muchas de esas transformaciones se puede hacer en SQL, puede optar por ejecutar las transformaciones en el propio almacén de datos. ELT es especialmente atractivo si la mayor parte de su conjunto de habilidades se encuentra con herramientas basadas en SQL.

Video: Tip: Una sola consulta SQL, muchos motores... muchas particularidades ¿Cómo afrontar esto?

Con Hadoop ahora capaz de procesar consultas SQL, tanto ETL y de ELT cargas de trabajo se pueden alojar en Hadoop. La figura muestra los servicios ETL añadido a la arquitectura de referencia.

Si ha desplegado una zona de aterrizaje basadas en Hadoop, tienes casi todo lo que necesita en lugar de utilizar Hadoop como motor de transformación. Ya estás aterrizando datos de sus sistemas operativos en Hadoop usando Sqoop, que cubre la etapa de extracción. En este punto tendrá que aplicar la lógica de transformación en aplicaciones MapReduce o cerdo. Después se transforma los datos, se puede cargar los datos en el almacén de datos utilizando Sqoop.

El uso de Hadoop como un motor de transformación de datos plantea posibilidades. Si su almacén de datos no modifica sus datos (que es para informar solamente), puede simplemente mantener los datos que se generan en el proceso de transformación. En este modelo, los datos sólo fluye de izquierda; a derecha en la figura, donde los datos se extrae de bases de datos operacionales, transformado en la zona de aterrizaje, y luego se cargan en el almacén de datos.

Video: Hadoop - An overview

Con todos los datos transformados ya en la zona de aterrizaje, no hay necesidad de copiar de nuevo a Hadoop - a menos que, por supuesto, los datos se modificó en el almacén.

Artículos Relacionados