tMahoutClustering - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Avertissement

Ce composant est disponible dans la Palette si vous avez souscrit à un produit Talend Platform comprenant l'option Big Data.

Fonction

Le composant tMahoutClustering regroupe des données dans des clusters selon certaines similarités. Ce composant offre des méthodes de calculs pouvant être utilisés dans différents algorithmes de clustering.

Ce composant utilise des algorithmes de clustering des bibliothèques Mahout. Tous les processus sont exécutés dans un système de fichiers distribué.

Objectif

Le tMahoutClustering vous permet de regrouper des données numériques n'ayant pas de libellé dans des clusters, ce qui permet de révéler des modèles ou d'identifier des éléments de données anormaux au sein des ensembles de données.

Si vous avez souscrit à l'une des solutions Big Data de Talend, ce composant est disponible dans les types de Job suivants :

Le composant tMahoutClustering dans des Jobs Map/Reduce Talend

Avertissement

Les informations contenues dans cette section concernent uniquement les utilisateurs ayant souscrit à l'une des solutions Big Data de Talend et ne sont pas applicables aux utilisateurs de Talend Open Studio for Big Data.

Dans un Job Map/Reduce Talend, le tMahoutClustering, ainsi que le Job complet utilisant ce composant, génère du code Map/Reduce natif. Cette section présente les propriétés du tMahoutClustering lorsqu'il est utilisé dans un Job Map/Reduce. Pour plus d'informations concernant un Job Map/Reduce Talend, consultez le Guide de prise en main de Talend Big Data.

Famille du composant

Map Reduce

Ce composant est déprécié et masqué par défaut dans la Palette mais il continue à fonctionner dans vos Jobs lorsque vous les importez d'anciennes versions. Vous devez cependant utiliser une JDK 7 pour pouvoir exécuter correctement les Jobs migrés contenant un tMahoutClustering.

Pour plus d'informations concernant l'affichage des composants masqués dans la Palette, consultez le Guide utilisateur du Studio Talend.

Il est recommandé d'utiliser le composant Spark Batch tKMeansModel afin de remplacer le tMahoutClustering pour exécuter des algorithmes de clustering sur des ensembles de donnés.

Basic settings

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

Le schéma de sortie du tMahoutClustering contient une colonne en lecture seule, ClusterID.

 

 

Built-in : Le schéma sera créé et conservé pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans divers projets et Jobs. Voir également le Guide utilisateur du Studio Talend.

File configuration

Input HDFS file

Parcourez votre système jusqu'au fichier HDFS contenant les données numériques à traiter.

 

Field separator

Saisissez un caractère, une chaîne de caractères ou une expression régulière pour séparer les champs dans les données d'entrée et de sortie.

 

Cluster columns

Dans la colonne Input Column, sélectionnez la (les) colonne(s) du flux principal sur laquelle (lesquelles) définir des algorithmes. Ces colonnes sont utilisées pour calculer les clusters.

Vous pouvez ajouter uniquement des colonnes numériques à cette table.

Clustering Configuration

Clustering type

Sélectionnez dans la liste l'algorithme de clustering à utiliser :

Canopy : cet algorithme utilise une métrique de distance approchée et deux seuils (Threshold) de distance T 1 et T 2, où T 1 > T 2. Il commence avec un ensemble de points de données dans n'importe quel ordre, prend un point appelé centroïde du cluster et mesure sa distance approchée avec les autres points. Il regroupe les points dont la distance est inférieure ou égale à T 1 dans une Canopy (cluster). Il supprime de l'ensemble principal tous les points dont la distance est inférieure ou égale à T2. Ainsi, les points très proches du centroïde ne sont pas traités. L'algorithme choisit ensuite un deuxième centroïde parmi les points de l'ensemble principal. l'algorithme continue jusqu'à ce que l'ensemble initial soit vide, accumulant ainsi un ensemble de clusters, chacun d'entre eux contenant un ou plusieurs point(s). Un point donné peut se trouver dans plus d'un cluster.

Ce type de clustering est souvent utilisé comme étape initiale au sein de techniques de clustering plus rigoureuses, comme le clustering K-Means. En commençant par un clustering de Canopies, le nombre de mesures de distances plus chères peut être considérablement réduit en ignorant des points hors des Canopies initiales.

K-Means : il classifie un ensemble de données en un nombre de clusters que vous définissez. L'algorithme choisit k points aléatoires utilisés comme centroïde dans k clusters.

L'algorithme associe ensuite chaque point de données appartenant à un ensemble de données au centre du cluster le plus proche.

Fuzzy K-Means : également appelé Fuzzy C-Means. Cet algorithme appartient à la famille des algorithmes de logique floue. Il fonctionne comme l'algorithme K-Means mais calcule les centres des clusters, à l'aide des probabilités qu'a un point d'appartenir à plusieurs clusters.

 

Distance measure

Sélectionnez dans la liste le type de mesure à utiliser pour le clustering :

Euclidean : définit la distance "ordinaire" entre deux points, comme si elle était mesurée par une règle.

Manhattan : définit la distance comme le chemin parcouru sur une grille entre deux points.

Chebyshev : définit la distance maximale entre deux vecteurs pris sur l'une des dimensions.

Cosine : Elle utilise le cosinus de l'angle entre les deux vecteurs représentant les points à comparer.

 

Canopy threshold1

Seuil de distance T1 utilisé pour l'algorithme Canopy.

 

Canopy threshold2

Seuil de distance T2 utilisé pour l'algorithme Canopy.

 

Number of clusters

Saisissez le nombre maximum de clusters pouvant être générés par un algorithme de clustering. Certains clusters peuvent ne pas contenir de données.

 

Max iterations

Saisissez le nombre maximum d'itérations à effectuer pour un algorithme de clustering.

 

Convergence delta

Saisissez un taux de convergence pour l'algorithme. Il doit être entre 0.0 et 1.0. Plus le taux est grand, plus l'algorithme est rapide, mais moins les résultats sont précis.

 

Fuzziness

Saisissez le paramètre d'approximation pour l'algorithme Fuzzy K-Means. Il doit être supérieur ou égal à 1.0.

Lorsque le paramètre d'approximation est proche de 1, le centre du cluster le plus proche du point a un poids plus important que les autres et l'algorithme est similaire à l'algorithme K-Means.

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Le composant tMahoutClustering doit être le composant d'entrée du Job. Vous pouvez sélectionner un fichier HDFS depuis l'onglet Basic settings.

Scénario : Grouper des données clients numériques dans des clusters dans HDFS

Ce scénario s'inspire d'une recherche concernant le clustering basé sur des modèles. Les données sont accessibles sur le site Wholesale customers Data Set (en anglais). La recherche est disponible à l'adresse suivante Enhancing the selection of a model-based clustering with external categorical variables (en anglais). Ce scénario est compris dans le projet Data Quality Demos que vous pouvez importer dans votre Studio Talend. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

Le Job de ce scénario se connecte à un système de fichiers distribué Hadoop (HDFS), regroupe les clients d'un distributeur grossiste dans deux clusters à l'aide des algorithmes du tMahoutClustering et écrit en sortie des données dans un HDFS donné.

L'ensemble de données contient 440 exemples de données se référant à des clients d'un distributeur en gros. Il comprend les dépenses annuelles (en unité monétaire) dans les différentes catégories de produits, comme les produits frais, les produits d'épicerie ou le lait.

L'ensemble de données fait référence à des clients de différents canaux de vente - Horeca (Hôtel/Restaurant/Café) ou commerce de détail et de différentes régions (Lisbonne/Porto/autres).

Ce Job utilise :

  • un tMahoutClustering afin de calculer les clusters pour l'ensemble des données d'entrée.

  • deux tAggregateRow pour compter le nombre de clients dans les clusters selon les colonnes region et channel.

  • trois tMap afin de mapper les flux d'entrée des canaux de vente et des régions dans deux flux de sortie séparés. Les composants sont également utilisés pour mapper l'unique colonne clusterID reçue du tMahoutClustering vers le flux de données contenant deux colonnes, alimentant les clusters des régions et des canaux de vente.

  • deux tHDFSOutput pour écrire des données dans HDFS, dans deux fichiers de sortie.

Prérequis : Avant de pouvoir utiliser le composant tMahoutClustering vous devez avoir un système Hadoop fonctionnel.

Construire le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tMahoutClustering, trois tMap, deux tAggregateRow et deux tHDFSOutput.

  2. Placez les composants comme dans la capture d'écran et connectez-les à l'aide de liens Row > Main.

Configurer une connexion Hadoop

  1. Cliquez sur Run afin d'ouvrir la vue correspondante et cliquez sur l'onglet Hadoop Configuration afin d'afficher cette vue et configurer la connexion Hadoop pour ce Job.

    La vue se présente comme dans la capture d'écran ci-dessous :

  2. Dans la liste Property type, sélectionnez Built-in. Si vous avez créé une connexion afin qu'elle soit utilisable depuis le Repository, sélectionnez alors Repository afin que le Studio Talend réutilise les informations de connexion pour ce Job.

    Pour plus d'informations concernant la création d'une connexion Hadoop dans le Repository, consultez le chapitre décrivant le nœud Hadoop cluster du le Guide utilisateur du Studio Talend.

  3. Dans la zone Version, sélectionnez la distribution Hadoop à utiliser et sa version. Si vous ne trouvez pas la distribution correspondant à la votre dans la liste, sélectionnez Custom afin de vous connecter à une distribution Hadoop non officiellement supportée par le Studio Talend.

    Pour un exemple d'utilisation étape par étape de cette option Custom, consultez Connexion à une distribution Hadoop personnalisée.

    En plus de l'évolution de Hadoop, veuillez noter les changements suivants :

    • Si vous utilisez Hortonworks Data Platform V2.2, les fichiers de configuration de votre cluster peuvent utiliser des variables d'environnement comme ${hdp.version}. Si vous êtes dans cette situation, vous devez configurer la propriété mapreduce.application.framework.path dans la table Hadoop properties, avec la valeur du chemin d'accès pointant explicitement vers l'archive du framework MapReduce de votre cluster. Par exemple :

      mapreduce.application.framework.path=/hdp/apps/2.2.0.0-2041/mapreduce/mapreduce.tar.gz#mr-framework
    • Si vous utilisez Hortonworks Data Platform V2.0.0, le type de système d'exploitation utilisé pour la distribution Hadoop et pour le Job Talend doit être identique, par exemple Windows ou Linux. Sinon, vous devez utiliser le Jobserver de Talend afin d'exécuter un Job dans le même type de système d'exploitation que celui dans lequel la distribution Hortonworks Data Platform V2.0.0 utilisée est exécutée. Pour plus d'informations concernant le Jobserver de Talend, consultez le Guide d'installation Talend.

  4. Dans le champ Name node, saisissez l'emplacement du nœud maître, le NameNode, de la distribution utilisée. Par exemple, hdfs://tal-qa113.talend.lan:8020.

    Si vous utilisez une distribution MapR, vous pouvez simplement laisser maprfs:/// dans ce champ. Le client MapR se charge de créer la connexion au moment de l'exécution. Notez que le client doit être correctement installé. Pour plus d'informations concernant la configuration d'un client MapR, consultez la page suivante sur le site de la documentation de MapR : http://doc.mapr.com/display/MapR/Setting+Up+the+Client (en anglais).

  5. Dans le champ Job tracker, saisissez l'emplacement du JobTracker de votre distribution. Par exemple, tal-qa114.talend.lan:8050.

    Notez que le mot "Job" dans le terme "JobTracker" désigne les Jobs MR ou Map/Reduce décrits dans la documentation Apache disponible sur le site Internet d'Apache http://hadoop.apache.org/ (en anglais).

    Si vous utilisez YARN dans votre cluster Hadoop, comme Hortonworks Data Platform V2.0.0 ou Cloudera CDH4.3 + (mode YARN), vous devez spécifier l'emplacement du Resource Manager et non celui du Jobtracker. Vous pouvez continuer à configurer les paramètres suivants selon la configuration du cluster Hadoop à utiliser :

    • Cochez la case Set resourcemanager scheduler address et saisissez l'adresse de l'ordonnanceur (Scheduler) dans le champ qui apparaît.

    • Cochez la case Set jobhistory address et saisissez l'emplacement du serveur JobHistory du cluster Hadoop à utiliser. Cela permet de stocker les informations relatives aux métriques du Job courant sur le serveur JobHistory.

    • Cochez la case Set staging directory et saisissez le chemin d'accès au répertoire défini dans votre cluster Hadoop pour les fichiers temporaires créés par l'exécution de programmes. Ce répertoire se trouve sous la propriété yarn.app.mapreduce.am.staging-dir dans les fichiers de configuration, notamment les fichiers yarn-site.xml et mapred-site.xml de votre distribution.

    • Cochez la case Use datanode hostname pour permettre au Job d'accéder aux nœuds de données via leurs hébergeurs. Cela configure la propriété dfs.client.use.datanode.hostname à true. Lorsque vous vous connectez à un système de fichiers S3N, vous devez cocher cette case.

  6. Si la distribution utilisée nécessite une authentification Kerberos, cochez la case Use Kerberos authentication et saisissez les détails d'authentification. Sinon, laissez cette case décochée.

    Si vous accédez au cluster Hadoop fonctionnant avec la sécurité de Kerberos, cochez cette case, puis saisissez le "principal name" de Kerberos pour le NameNode dans le champ affiché. Cela vous permet d'utiliser votre identifiant pour vous authentifier, en le comparant aux identifiants stockés dans Kerberos.

    De plus, comme ce composant effectue des calculs Map/Reduce, vous devez également authentifier les services associés, comme le serveur de l'historique des Jobs et le gestionnaire de ressources ou le JobTracker, selon votre distribution, dans le champ correspondant. Ces principaux se trouvent dans les fichiers de configuration de votre distribution. Par exemple, dans une distribution CDH4, le principal du gestionnaire de ressource est configuré dans le fichier yarn-site.xml et le principal de l'historique des Job dans le fichier mapred-site.xml.

    Si vous souhaitez utiliser un fichier Kerberos keytab pour vous identifier, cochez la case Use a keytab to authenticate. Un fichier keytab contient des paires de principaux et clés cryptées Kerberos. Vous devez saisir le principal à utiliser dans le champ Principal et le chemin d'accès au fichier keytab dans le champ Keytab.

    Notez que l'utilisateur qui exécute un Job utilisant un keytab n'est pas forcément celui désigné par le principal mais qu'il doit avoir le droit de lecture pour le fichier keytab utilisé. Par exemple, le nom d'utilisateur que vous utilisez pour exécuter le Job est user1 et le principal à utiliser est guest. Dans cette situation, assurez-vous que user1 a les droits de lecture pour le fichier keytab à utiliser.

  7. Dans le champ User name, saisissez votre nom d'utilisateur pour votre distribution. Si vous laissez ce champ vierge, le nom d'utilisateur de la machine hébergeant le Studio Talend est utilisé.

  8. Dans le champ Temp folder, saisissez le chemin d'accès au dossier HDFS dans lequel sont stockés les fichiers temporaires générés pendant les opérations de Map/Reduce.

  9. Laissez le champ Path separator in server tel quel, sauf si vous changez le séparateur utilisé par la machine hôte de votre distribution Hadoop pour sa variable PATH. En d'autres termes, changez le séparateur si celui-ci n'est pas le signe deux points (:). Dans ce cas, vous devez remplacer cette valeur par celle utilisée dans votre hôte.

  10. Laissez la case Clear temporary folder (Effacer le contenu du dossier temporaire) cochée, sauf si vous souhaitez garder ces fichiers temporaires.

  11. Laissez la case Compress intermediate map output to reduce network traffic cochée, afin de réduire le temps de transfert des partitions du Mapper aux différents Reducers.

    Cependant, si le transfert des données dans le Job est négligeable, il est recommandé de décocher cette case afin de désactiver l'étape de compression, car la compression consomme des ressources supplémentaires du CPU.

  12. Si vous souhaitez utiliser des propriétés Hadoop personnalisées, renseignez la table Hadoop properties avec la ou les propriété(s) à personnaliser. Lors de l'exécution, ces modifications écrasent les propriétés correspondantes par défaut utilisées par le Studio pour son moteur Hadoop.

    Pour plus d'informations concernant les propriétés requises par Hadoop, consultez la documentation Apache Hadoop sur le site http://hadoop.apache.org (en anglais), ou la documentation de la distribution Hadoop que vous utilisez.

  13. Si le système Hadoop utilisé est Hortonworks Data Platform V1.2 ou Hortonworks Data Platform V1.3, vous devez définir des allocations de mémoire suffisantes pour que les opérations de map et reduce soient effectuées par le système Hadoop.

    Dans ce cas, vous devez saisir les valeurs que vous souhaitez utiliser pour la mémoire allouée aux opérations map et reduce dans les champs Mapred job map memory mb et Mapred job reduce memory mb, respectivement. Par défaut, les valeurs sont toutes les deux 1000, ce qui est normalement adapté pour l'exécution de ces opérations.

    Si la distribution utilisée est YARN, les paramètres de mémoire à définir sont alors Map (in Mb), Reduce (in Mb) et ApplicationMaster (in Mb), respectivement. Ces champs permettent d'allouer dynamiquement de la mémoire aux opérations map et reduce et à l'ApplicationMaster de YARN.

  14. Si vous utilisez Cloudera V5.5 ou une version supérieure, vous pouvez cocher la case Use Cloudera Navigator pour permettre au Cloudera Navigator de votre distribution de suivre le lignage de vos Jobs jusqu'au niveau des composants, notamment les modifications des schémas entre les composants.

    Lorsque cette option est activée, vous devez configurer les paramètres suivants :

    • Username et Password : informations d'authentification utilisées pour vous connecter à votre Cloudera Navigator.

    • Cloudera Navigator URL : saisissez l'emplacement du Cloudera Navigator auquel se connecter.

    • Cloudera Navigator Metadata URL : saisissez l'emplacement où sont stockées les métadonnées (Navigator Metadata).

    • Activate the autocommit option : cochez cette case pour que le Cloudera Navigator génère le lignage du Job courant à la fin de son exécution.

      Comme cette option force le Cloudera Navigator à générer des lignages de toutes ses entités disponibles, tels que les fichiers et répertoires HDFS, les requêtes Hive ou les scripts Pig, il n'est pas recommandé de l'utiliser dans un environnement de production, car elle ralentit le Job.

    • Kill the job if Cloudera Navigator fails : cochez cette case pour arrêter l'exécution du Job lorsque la connexion à Cloudera Navigator échoue.

      Sinon, laissez cette case décochée pour que votre Job continue à s'exécuter.

    • Disable SSL validation : cochez cette case pour que votre Job se connecte au Cloudera Navigator sans processus de validation SSL.

      Cette fonctionnalité est conçue pour simplifier les tests de vos Jobs mais il n'est pas recommandé de l'utiliser dans un cluster en production.

Pour plus d'informations sur l'onglet Hadoop Configuration, consultez la section décrivant comment configurer la connexion Hadoop pour un Job Talend Map/Reduce dans le Guide de prise en main de Talend Big Data.

Pour plus d'informations sur le Resource Manager, son ordonnanceur et l'ApplicationMaster, consultez la documentation de YARN sur le site http://hortonworks.com/blog/apache-hadoop-yarn-concepts-and-applications/ (en anglais).

Pour plus d'informations concernant la définition des paramètres de mémoire pour YARN et MapReduce, consultez la documentation de la distribution utilisée comme, par exemple, celle d'Hortonworks : http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.6.0/bk_installing_manually_book/content/rpm-chap1-11.html (en anglais).

Configurer le processus de clustering

  1. Double-cliquez sur le tMahoutClustering pour ouvrir sa vue Component.

  2. Dans la liste Schema, sélectionnez Built-In puis cliquez sur le bouton [...] à côté du champ Edit Schema et décrivez la structure des données dans le fichier d'entrée.

  3. Ajoutez huit lignes au schéma et configurez-les comme dans la capture d'écran.

    Ce composant contient une colonne en lecture seule, clusterID.

  4. Cliquez sur OK.

  5. Dans la zone File Configuration :

    • Cliquez sur le bouton [...] à côté du champ Input HDFS file et parcourez votre système Hadoop jusqu'au fichier HDFS contenant les données numériques d'entrée que vous souhaitez mettre en clusters.

    • Configurez le séparateur de champs utilisé pour séparer les colonnes dans les données mises en clusters.

    • Dans la table Cluster columns, ajoutez des lignes à la table et cliquez dans chacune afin de sélectionner une colonne du schéma d'entrée.

  6. Dans la zone Clustering Configuration :

    • Dans la liste Clustering Type, sélectionnez l'algorithme à utiliser pour mettre en clusters les données numériques, Fuzzy K-means dans cet exemple.

    • Dans la liste Distance Measure, sélectionnez la mesure de distance à utiliser pour le processus de clustering.

    • Dans le champ Number of clusters, saisissez 3.

    • Laissez les valeurs dans les champs Max iterations et Convergence delta telles qu'elles sont.

Mapper les données

  1. Double-cliquez sur le tMap pour ouvrir l'éditeur Map Editor.

  2. Déposez les colonnes Region et clusterID dans la première table de sortie correspondant au premier composant tAggregateRow.

    Déposez les colonnes Channel et clusterID dans la seconde table de sortie correspondant au second tAggregateRow.

    Utilisez la zone Schema editor au bas de l'éditeur pour ajouter les lignes aux tables de sortie, si nécessaire.

  3. Cliquez sur OK afin de valider les modifications.

Rassembler et calculer les données de sortie

  1. Double-cliquez sur le premier tAggregateRow pour afficher sa vue Basic settings et configurer ses propriétés.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema et définissez le flux de sortie.

  3. Déplacez les colonnes du schéma d'entrée dans le schéma de sortie puis utilisez le bouton [+] pour ajouter une nouvelle colonne au schéma de sortie. Nommez-la count.

    Cela fait, cliquez sur OK pour fermer la boîte de dialogue.

  4. Dans la section Group by, cliquez sur le bouton [+] pour ajouter autant de lignes que nécessaire. Vous pouvez définir les valeurs de regroupement.

    • Cliquez dans la première ligne Output column et sélectionnez la colonne de sortie qui contiendra les données regroupées, la colonne region dans cet exemple.

    • Cliquez dans la première ligne Input column position et sélectionnez la colonne d'entrée à partir de laquelle vous souhaitez collecter les valeurs à regrouper, la colonne region dans cet exemple.

  5. Dans la zone Operations, cliquez sur le bouton [+] pour ajouter des lignes aux colonnes qui contiendront les données regroupées. Vous pouvez définir les valeurs de calcul.

    • Cliquez dans la ligne Output column et sélectionnez dans la liste la colonne de destination, la colonne count dans cet exemple.

    • Cliquez dans la ligne de la colonne Function et sélectionnez l'une des opérations listées.

      Dans cet exemple, vous allez compter le nombre de clients, selon leur région, à lister une fois dans la colonne de sortie.

    • Cliquez dans la ligne Input column position et sélectionnez la colonne d'entrée à partir collecter les valeurs à regrouper, la colonne region dans cet exemple.

  6. Double-cliquez sur le second tAggregateRow et définissez ses propriétés simples afin de compter le nombre de clients dans le second cluster, à partir de la colonne channel.

Mapper les données de sortie

  1. Double-cliquez sur le deuxième tMap pour ouvrir son éditeur Map Editor.

  2. Déposez les colonnes region, clusterID et count dans la table de sortie correspondant au premier fichier HDFS.

  3. Cliquez sur OK pour valider les modifications.

  4. Double-cliquez sur le troisième tMap pour ouvrir son éditeur Map Editor.

  5. Déposez les colonnes channel, clusterID et count dans la table de sortie correspondant au second fichier HDFS.

  6. Cliquez sur OK afin de valider les modifications.

Ecrire les données de sortie dans HDFS

  1. Double-cliquez sur le premier tHDFSOutput pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ Folder et parcourez votre système jusqu'au dossier dans lequel écrire les données des régions.

  3. Dans la liste Type, sélectionnez le format de données pour les enregistrements à écrire. Dans cet exemple, sélectionnez Text file.

  4. Dans la liste Action, sélectionnez l'opération à effectuer sur le fichier. Si le fichier existe déjà, sélectionnez Overwrite, sinon, sélectionnez Create.

  5. Cochez la case Merge result to single file et saisissez le chemin d'accès, ou parcourez votre système jusqu'au fichier dans lequel écrire les données de sortie fusionnées.

  6. Si le fichier pour les données fusionnées existe déjà, cochez la case Override target file pour l'écraser.

  7. Double-cliquez sur le second tHDFSOutput pour ouvrir sa vue Component.

  8. Configurez les paramètres du composant de la même manière pour écrire les données concernant les canaux de vente des clients à partir du second cluster dans un dossier de sortie HDFS.

Finaliser et exécuter le Job

  • Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

    La capture d'écran ci-dessous présente une partie des données mises en clusters écrites dans les dossiers HDFS.

    Le tMahoutClustering lit des données depuis un système Hadoop donné et regroupe les enregistrements clients dans des clusters. Les autres composants du Job analysent les résultats du clustering, affichent le nombre de clients dans chaque cluster, regroupés par canaux de vente ou région et identifient le cluster.

Visualiser les données de sortie

Vous pouvez construire un diagramme en barres pour chaque cluster, afin de visualiser le nombre de clients groupés par région ou canal de vente.

  • Utilisez les composants tHDFSInput et tBarChart dans deux Jobs pour lire les fichiers HDFS de sortie et générez un diagramme en barres pour les données, pour faciliter l'analyse technique.

    Dans le premier Job, le tHDFSInput lit le fichier HDFS de sortie contenant les régions et passe le flux au tBarChart. Le tBarChart lit les données du flux d'entrée et les transforme en un diagramme en barres, dans un fichier image au format .PNG.

    Dans le second Job, le tHDFSInput lit le fichier HDFS de sortie contenant les canaux de vente et passe le flux au tBarChart qui transforme les données d'entrée en un diagramme en barres, dans un fichier image au format .PNG.

    Chaque diagramme en barres contient trois colonnes, chaque colonne représentant le nombre d'enregistrements dans un cluster.

    Pour plus d'informations concernant le tHDFSInput, consultez tHDFSInput. Pour plus d'informations concernant le tBarChart, consultez tBarChart.