Hadoop comme un moteur de prétraitement des données

Un des premiers cas d'utilisation de Hadoop dans l'entreprise était comme un moteur de transformation programmatique utilisé pour prétraiter les données à destination d'un entrepôt de données. Essentiellement, ce cas d'utilisation exploite la puissance de l'écosystème Hadoop pour manipuler et appliquer des transformations aux données avant il est chargé dans un entrepôt de données.

Bien que le moteur de la transformation réelle est nouveau (il est Hadoop, afin transformations et les flux de données sont codés dans Pig ou MapReduce, entre autres langues), l'approche elle-même a été en usage pendant quelque temps avec le Extract, Transform, Load (ETL) processus.

Pensez à l'évolution des bases de données OLTP et ROLAP. De nombreuses organisations avec des bases de données opérationnelles ont également déployé des entrepôts de données. Alors, comment ne départements informatiques obtenir des données à partir de leurs bases de données opérationnelles dans leurs entrepôts de données? (Rappelez-vous que les données opérationnelles est généralement pas sous une forme qui se prête à l'analyse.)

La réponse ici est ETL, et que les entrepôts de données ont augmenté en utilisation et l'importance, les étapes du processus est devenu bien compris et les meilleures pratiques ont été développées. En outre, un certain nombre de sociétés de logiciels a commencé à offrir des solutions ETL intéressantes afin que les départements informatiques peuvent minimiser leur propre développement de code personnalisé.




Le processus ETL de base est assez simple: vous EXtract données à partir d'une base de données opérationnelle, TRANSFORMER dans la forme dont vous avez besoin pour votre analyse et des outils de reporting, et puis vous LOAD ces données dans votre entrepôt de données.

Une variation commune d'ETL est ELT - Extract, Load et transformer. Dans le processus ELT, d'effectuer des transformations (contrairement à ETL) après le chargement des données dans le référentiel cible. Cette approche est souvent utilisée lors de la transformation devrait bénéficier grandement d'un moteur de traitement de SQL très rapide sur les données structurées. (Bases de données relationnelles peuvent pas exceller dans le traitement de données non structurées, mais ils effectuer un traitement très rapide de - devinez quoi -?. Données structurées)

Si les données que vous transformation est destiné à un entrepôt de données, et beaucoup de ces transformations peut être fait dans SQL, vous pouvez choisir d'exécuter les transformations dans l'entrepôt de données elle-même. ELT est particulièrement attrayante si la majeure partie de votre ensemble de compétences se trouve avec un outillage basé sur SQL.

Avec Hadoop maintenant en mesure de traiter les requêtes SQL, tant ETL et ELT charges de travail peuvent être hébergés sur Hadoop. La figure montre services ajoutés à l'architecture de référence ETL.

image0.jpg

Si vous avez déployé une zone d'atterrissage sur la base Hadoop, vous avez presque tout ce que vous devez à la place d'utiliser Hadoop comme un moteur de transformation. Vous êtes déjà atterrissage données de vos systèmes opérationnels dans Hadoop utilisant Sqoop, qui couvre l'étape d'extraction. À ce stade, vous aurez besoin de mettre en œuvre la logique de votre transformation en applications MapReduce ou de porc. Après les données sont transformées, vous pouvez charger les données dans l'entrepôt de données en utilisant Sqoop.

Utilisation Hadoop comme un moteur de transformation de données soulève possibilités. Si votre entrepôt de données ne modifie pas ses données (il est pour les rapports uniquement), vous pouvez simplement conserver les données que vous générez avec le processus de transformation. Dans ce modèle, les données ne découle de gauche; à droite dans la figure, où les données sont extraites des bases de données opérationnelles, transformé dans la zone d'atterrissage, puis chargé dans l'entrepôt de données.

Avec toutes les données transformées déjà dans la zone d'atterrissage, il n'y a pas besoin de recopier vers Hadoop - à moins, bien sûr, les données se modifie dans l'entrepôt.


» » » » Hadoop comme un moteur de prétraitement des données