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 los datos preprocess con destino a un almacén de datos. Esencialmente, 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.
Aunque el motor de transformación real es nuevo (es Hadoop, por lo que las transformaciones y los flujos de datos se codifican en cerdo o MapReduce, entre otros idiomas), el enfoque en sí ha estado en uso un rato con la extracción, transformación, carga procesos (ETL).
Piense en la evolución de las bases de datos OLTP y ROLAP. Muchas organizaciones con bases de datos operacionales también desplegaron los almacenes de datos. Entonces, ¿cómo los departamentos de TI obtener datos de sus bases de datos operacionales en sus almacenes de datos? (Recuerde que los datos operativos típicamente no está 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, una serie de empresas 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 básico de ETL es bastante sencillo: usted Edatos XTRACT de una base de datos operativa, Transform en la forma que necesita para su análisis y herramientas de informes y, a continuación Load estos datos en su almacén de datos.
Una variante común de ETL es ELT - Extracto, carga, y transformar. En el proceso de ELT, realizar 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 - ¿adivinen 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 almacén de datos en sí. ELT es especialmente atractivo si la mayor parte de su conjunto de habilidades se encuentra con herramientas basadas en SQL.
Con Hadoop ahora capaz de procesar consultas SQL, tanto ETL y cargas de trabajo ELT se pueden alojar en Hadoop. La figura muestra los servicios de ETL añadido a la arquitectura de referencia.
![imagen0.jpg](/uploads/posts/2015/10/hadoop-as-a-data-preprocessing-engine_1.jpg)
Si ha desplegado una zona de aterrizaje basado 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 implementar su lógica transformación en MapReduce o cerdo aplicaciones. Después se transforma los datos, puede cargar los datos en el almacén de datos usando Sqoop.
El uso de Hadoop como motor de transformación de datos plantea posibilidades también. Si su almacén de datos no modifica sus datos (que es para informar solamente), sólo tiene que 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 las bases de datos operacionales, transformado en la zona de aterrizaje, y luego cargado en el almacén de datos.
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.