Récemment, j‘ai travaillé avec un client pour rétroconcevoir un script Pig exécutant un travail MapReduce dans Hadoop, puis l‘orchestrer comme un pipeline SnapReduce avec la plate-forme d‘intégration élastique de SnapLogic. L‘interface utilisateur HTML5 cloud de SnapLogic et la collection de composants préconstruits appelés Snaps ont permis de créer une représentation visuelle et fonctionnelle du flux de travail d‘analyse de données sans connaître les subtilités de Pig et MapReduce. Voici un bref résumé :
Qu‘est-ce que le langage de script Pig ?
Le script Pig est un langage de script de haut niveau utilisé avec Apache Hadoop pour créer des applications complexes permettant de résoudre des problèmes commerciaux. Pig est utilisé pour les tâches interactives et par lots avec MapReduce comme mode d‘exécution par défaut.
Voici un tutoriel.
À propos de SnapReduce et de Hadooplex
SnapReduce et notre Hadooplex permettent à l‘iPaaS de SnapLogic de fonctionner nativement sur Hadoop en tant qu‘application YARN qui évolue de manière élastique pour alimenter l‘analyse des big data. SnapLogic permet aux utilisateurs d‘Hadoop de tirer parti d‘une interface utilisateur par glisser-déposer basée sur HTML5, d‘une connectivité étendue (appelée Snaps) et d‘une architecture moderne. Pour en savoir plus, cliquez ici.
Cas d‘utilisation général (analyse de l‘utilisation des produits)
Les données brutes d‘utilisation des produits provenant des applications grand public sont chargées dans les tables Hadoop HCatalog et stockées au format RCFile. Le programme lit les champs de données : nom du produit, utilisateur et historique d‘utilisation avec la date et l‘heure, nettoie les données et élimine les enregistrements en double en les regroupant par horodatage. Il trouve des enregistrements uniques pour chaque utilisateur et écrit les résultats dans les partitions HDFS en fonction de la date et de l‘heure. Les analystes de produits créent ensuite une table externe dans Hive sur les données déjà partitionnées afin d‘interroger et de créer des rapports sur l‘utilisation des produits et les tendances. Ils écrivent ces rapports dans un fichier ou les exportent vers un outil d‘analyse visuelle comme Tableau.
Voici la partie Pig Script pour le cas d‘utilisation ci-dessus (Nettoyage des données) :
REGISTER / apps / cloudera / parcels / CDH / lib / hive / lib / hive - exec.jar SET default_parallel 24; DEFINE HCatLoader org.apache.hcatalog.pig.HCatLoader(); raw = load
'sourcedata.sc_survey_results_history' USING HCatLoader(); in = foreach raw generate user_guid, survey_results, date_time, product as product; grp_in = GROUP in BY(user_guid, product); grp_data = foreach grp_in { order_date_time = ORDER in BY date_time DESC; max_grp_data = LIMIT order_date_time 1; GENERATE FLATTEN(max_grp_data); }; grp_out_data = foreach grp_data generate max_grp_data::user_guid as user_guid, max_grp_data::product as product, '$create_date' as create_date, CONCAT('-"product"="', CONCAT(max_grp_data::product, CONCAT('",', max_grp_data::survey_results))) as survey_results; results = STORE grp_out_data INTO 'hdfs://nameservice1/warehouse/marketing/sc_sur
Équivalent du pipeline SnapReduce pour le script Pig
Ce pipeline SnapReduce est traduit pour être exécuté en tant que tâche MapReduce dans Hadoop. Il peut être programmé ou déclenché pour automatiser l‘intégration. Il peut même être transformé en un modèle d‘intégration réutilisable. Comme vous le verrez, il est assez facile et intuitif de créer un pipeline en utilisant l‘interface graphique HTML5 de SnapLogic et les Snaps pour remplacer un script Pig.
Le cas d‘utilisation complet d‘analyse de données ci-dessus a été créé dans SnapLogic. Je n‘ai couvert ici que la partie script Pig et je prévois d‘écrire sur le reste du cas d‘utilisation un peu plus tard. J‘espère que cela vous aidera ! Voici une démonstration de notre solution d‘intégration de big data en action. Contactez-nous pour en savoir plus.