tUniqRow - 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

Fonction

Le composant tUniqRow compare les entrées et supprime les doublons du flux d'entrée.

Objectif

Ce composant assure une qualité de données des flux d'entrée et de sortie du Job.

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

Propriétés du tUniqRow

Famille de composant

Data Quality

 

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].

Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues à partir de fichiers source ou de copier des lots de colonnes d'une source sans avoir à mapper individuellement ces colonnes. Pour plus d'informations concernant les schémas dynamiques, consultez le Guide utilisateur de Studio Talend.

Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables.

 

 

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

 

 

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

 

Unique key

Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué.

- Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes.

- Cochez la case Case sensitive afin de différencier les majuscules et les minuscules.

Advanced settings

Only once each duplicated key

Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons.

 

Use of disk (suitable for processing large row set)

Cochez cette case pour permettre la génération de fichiers temporaires sur le disque dur lors du traitement de données volumineuses. Cela permet d'empêcher l'échec de l'exécution d'un Job dû à un débordement de la mémoire. Quand cette case est cochée, vous devez également définir les éléments suivants :

- Buffer size in memory: Sélectionnez le nombre de lignes à mettre en mémoire tampon avant qu'un fichier temporaire ne soit généré sur le disque dur.

- Directory for temp files: Indiquez l'endroit où les fichiers temporaires doivent être enregistrés.

Avertissement

Assurez-vous que le répertoire indiqué pour vos fichiers temporaires existe, sans quoi l'exécution du Job échouera.

 

Ignore trailing zeros for BigDecimal

Cochez cette case pour ignorer les zéros en fin de champs pour les données de type BigDecimal.

 

tStatCatcher Statistics

Cochez cette case pour collecter les métadonnées de process du Job, aussi bien au niveau du Job qu'au niveau de chaque composant.

Global Variables

NB_UNIQUES : nombre de lignes uniques. Cette variable est une variable After et retourne un nombre entier.

NB_DUPLICATES : nombre de lignes en doublon. Cette variable est une variable After et retourne un nombre entier.

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

Ce composant est un composant intermédiaire puisqu'il sert à traiter un flux de données. Ainsi, il nécessite un composant d'entrée et un composant de sortie.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario 1 : Dédoublonner des données

Ce scénario décrit un Job à cinq composants, dont le but est de trier des entrées à partir d'une liste d'entrée comprenant des noms, de trouver des noms en doublons, et d'afficher les noms uniques ainsi que les noms en doublon dans la console Run.

Construire le Job

  1. A partir de la Palette, cliquez et déposez les composants suivants dans l'espace de modélisation graphique : un tFileInputDelimited, un tSortRow, un tUniqRow, ainsi que deux composants tLogRow, et nommez-les comme illustré ci-dessus.

  2. Connectez les composants tFileInputDelimited, tSortRow, et tUniqRow à l'aide de liens Row > Main.

  3. Connectez le tUniqRow au premier tLogRow à l'aide d'un lien Main > Uniques.

  4. Connectez le composant tUniqRow au second tLogRow via une connexion de type Main > Duplicates.

Configurer les composants

  1. Double-cliquez sur le composant tFileInputDelimited afin d'afficher l'onglet Basic settings de sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ File Name pour sélectionner le fichier contenant les données d'entrée.

  3. Définissez l'en-tête (Header) et le pied de page (Footer). Dans ce scénario, la ligne d'en-tête est la première ligne du fichier d'entrée.

  4. Cliquez sur Edit schema pour définir le schéma de ce composant. Dans ce scénario, le fichier d'entrée comprend cinq colonnes : Id, FirstName, LastName, Age, et City. Cliquez ensuite sur OK pour propager le schéma et fermer l'éditeur de schéma.

  5. Double-cliquez sur le tSortRow afin d'afficher sa vue Basic settings.

  6. Afin de disposer les entrées en fonction de l'ordre alphabétique des noms, ajoutez deux lignes au tableau Criteria en cliquant sur le bouton [+], sélectionnez les colonnes FirstName et LastName sous Schema column, sélectionnez le type de tri alphabétique (alpha), puis sélectionnez l'ordre ascendant (asc).

  7. Double-cliquez sur le composant tUniqRow afin d'afficher l'onglet Basic settings de sa vue Component.

  8. Dans la zone Unique key, sélectionnez les colonnes sur lesquelles vous souhaitez effectuer le dédoublonnage. Dans ce scénario, les noms en doublon seront triés.

  9. Dans l'onglet Basic settings de la vue Component des deux composants tLogRow, cochez l'option Table afin de visualiser le résultat de l'exécution du Job en mode tableau.

Sauvegarder et exécuter le Job

  1. Sauvegardez votre Job à l'aide des touches Ctrl+S.

  2. Exécutez le Job en appuyant sur la touche F6 ou en cliquant sur le bouton Run de l'onglet Run.

    Dans la console Run, les noms uniques et les noms en doublon sont affichés dans des tableaux différents.

Scénario 2 : Dédoublonner les entrées basées sur le schéma dynamique

Dans ce scénario, vous utilisez un Job similaire à celui décrit dans le scénario précédent pour dédoublonner les données d'entrée de plusieurs familles, de telle manière qu'une seule personne par famille reste sur la liste des noms. Comme tous les composants de ce Job supportent le schéma dynamique, vous pouvez utiliser cette option pour gagner du temps en évitant de configurer chaque colonne des schémas.

Construire le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFileInputDelimited, un tExtractDynamicFields, un tUniqRow, un tFileOutputDelimited et un tLogRow. Renommez-les comme ci-dessus pour mieux identifier leur rôle au sein du Job.

  2. Reliez les composants nommés People, Split_Column et Deduplicate à l'aide de liens Row > Main.

  3. Reliez le composant nommé Deduplicate au Unique_Families à l'aide d'un lien Main > Uniques.

  4. Reliez le composant nommé Deduplicate au Duplicated_Families à l'aide d'un lien Main > Duplicates.

Configurer les composants

  1. Double-cliquez sur le composant nommé People pour afficher sa vue Basic settings.

    Avertissement

    L'option de schéma dynamique est supportée uniquement en mode Built-In et requiert que le fichier d'entrée ait une ligne d'en-tête.

  2. Cliquez sur le bouton [...] près du champ File Name/Stream pour parcourir votre système jusqu'à votre fichier d'entrée.

  3. Définissez les lignes d'en-tête et de pied de page. Dans ce scénario, la première ligne du fichier d'entrée est l'en-tête.

  4. Cliquez sur Edit schema pour définir le schéma de ce composant.

    Dans ce scénario, le fichier d'entrée contient cinq colonnes : FirstName, LastName, HouseNo, Street, et City. Toutefois, comme vous allez profiter de l'option de schéma dynamique, vous n'aurez à définir qu'une seule colonne, ici nommée Dyna. Pour ce faire :

    1. Ajoutez une nouvelle ligne en cliquant sur le bouton [+].

    2. Dans le champ Column, saisissez Dyna.

    3. Dans la liste Type, choisissez Dynamic.

    4. Cliquez sur OK pour propager le schéma et fermer l'éditeur de schéma.

  5. Double-cliquez sur le composant nommé Split_Column pour afficher sa vue Basic settings.

    Ce composant vous servira à séparer la colonne du schéma d'entrée en deux colonnes : une pour le prénom et l'autre pour les informations concernant la famille. Pour ce faire :

    1. Cliquez sur Edit schema pour ouvrir la boîte de dialogue [Schema].

    2. Dans la table Output, sur la droite, cliquez sur le bouton [+] pour ajouter deux colonnes dans le schéma de sortie et appelez-les respectivement FirstName et FamilyInfo.

    3. Choisissez String dans la liste Type de la colonne FirstName pour extraire cette colonne du schéma d'entrée et prendre en compte le nom de chaque personne sur la liste des noms.

    4. Sélectionnez Dynamic dans la liste Type de la colonneFamilyInfo pour que cette colonne s'occupe des autres informations de chaque personne présente sur la liste des noms : nom de famille, adresse, rue et ville identifieront une famille.

    5. Cliquez sur OK pour propager les changements et fermer la boîte de dialogue.

  6. Double-cliquez sur le composant nommé Deduplicate pour afficher sa vue Basic settings.

  7. Dans la zone Unique key, cochez la case Key attribute pour la colonne FamilyInfo afin de dédoublonner les informations concernant la famille.

  8. Dans la vue Basic settings du tFileOutputDelimited nommé Deduplicated_Families, définissez le chemin d'accès au fichier de sortie, cochez la case Include header et laissez les autres paramètres tels qu'ils sont.

  9. Dans l'espace de modélisation graphique, double-cliquez sur le tLogRow. Dans sa vue Basic settings, sélectionnez l'option Table pour visualiser les résultats de l'exécution du Job en mode tableau.

Sauvegarder et exécuter le Job

  1. Appuyez sur Ctrl+S pour sauvegarder votre Job.

  2. Exécutez le Job en appuyant sur F6 ou en cliquant sur le bouton Run dans l'onglet Run.

    Les informations concernant les familles en doublon apparaissent dans la console Run. Une personne par famille s'affiche dans la liste des noms, dans le fichier de sortie.

Le composant tUniqRow dans les Jobs Talend Map/Reduce

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 Talend Map/Reduce, le composant tUniqRow, ainsi que les autres composants Map/Reduce qui le précédent, génèrent du code Map/Reduce natif. Cette section présente les propriétés spécifiques du tUniqRow lorsqu'il est utilisé dans le cas présent. Pour plus d'informations sur les Jobs Talend Map/Reduce Job, consultez le Guide de prise en main de Talend Big Data.

Famille du composant

Data Quality

 

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].

Ce composant offre la fonction de schéma dynamique. Cela vous permet de récupérer des colonnes inconnues à partir de fichiers source ou de copier des lots de colonnes d'une source sans avoir à mapper individuellement ces colonnes. Pour plus d'informations concernant les schémas dynamiques, consultez le Guide utilisateur de Studio Talend.

Cette fonctionnalité de schéma dynamique est conçue pour permettre de récupérer des colonnes inconnues d'une table. Il est recommandé de l'utiliser uniquement à cet effet et non pour créer des tables.

 

 

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

 

 

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

 

Unique key

Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué.

- Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes.

- Cochez la case Case sensitive afin de différencier les majuscules et les minuscules.

Advanced settings

Only once each duplicated key

Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons.

 

Ignore trailing zeros for BigDecimal

Cochez cette case pour ignorer les zéros en fin de champs pour les données de type BigDecimal.

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 dans des Jobs Map/Reduce

Dans un Job Talend Map/Reduce, il est utilisé comme étape intermédiaire, avec d'autres composants Map/Reduce. Ils génèrent nativement du code Map/Reduce pouvant être exécuté directement dans Hadoop.

Pour plus d'informations concernant les Jobs Talend Map/Reduce, consultez les sections décrivant comment créer, convertir et configurer un Job Talend Map/Reduce, dans le Guide de prise en main de Talend Big Data.

Pour un exemple de scénario de Job Map/Reduce Job utilisant ce composant, consultez le Scénario : Dédoublonner des entrées en utilisant des composants Map/Reduce.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données et non des Jobs Map/Reduce.

Scénario : Dédoublonner des entrées en utilisant des composants Map/Reduce

Ce scénario montre comment créer un Job Talend Map/Reduce afin de dédoublonner des entrées. En d'autres termes, ce scénario utilise des composants Map/Reduce afin de générer du code Map/Reduce et exécuter le Job dans Hadoop.

Notez que les composants Talend Map/Reduce ne sont disponibles que si vous avez souscrit à l'une des solutions Big Data de Talend et que ce scénario ne peut être reproduit qu'avec des composants Map/Reduce.

Les données d'exemple utilisées dans ce scénario se présentent comme suit :

1;Harry;Ford;68;Albany
2;Franklin;Wilson;79;Juneau
3;Ulysses;Roosevelt;25;Harrisburg
4;Harry;Ford;48;Olympia
5;Martin;Reagan;75;Columbia
6;Woodrow;Roosevelt;63;Harrisburg
7;Grover;McKinley;98;Atlanta
8;John;Taft;93;Montpelier
9;Herbert;Johnson;85;Lincoln
10;Grover;McKinley;33;Lansing

Etant donné que le Studio Talend vous permet de convertir un Job Map/Reduce en Job Standard (non Map/Reduce) et vice-versa, vous pouvez convertir le scénario présenté précédemment afin de créer ce Job Map/Reduce. Ainsi, la plupart des composants utilisés peuvent garder leurs paramètres d'origine afin de réduire votre charge de travail pour la création de ce Job.

Avant de commencer ce scénario, assurez-vous de disposer des droits d'accès Hadoop nécessaires pour accéder à la distribution Hadoop utilisée. Procédez ensuite comme suit :

Convertir le Job

  1. Dans le Repository de la perspective Integration du Studio Talend, cliquez-droit sur le Job que vous avez créé dans le scénario précédent afin d'ouvrir son menu contextuel. Sélectionnez ensuite Edit properties.

    L'assistant [Edit properties] s'ouvre alors. Notez que le Job doit être fermé avant que vous ne puissiez effectuer des changements dans cet assistant.

    L'assistant se présente comme dans la capture d'écran ci-dessous :

    Notez que vous pouvez changer le nom du Job ainsi que les autres informations de description du Job à partir de cet assistant.

  2. Dans la liste Job Type, sélectionnez Big Data Batch. Un Job Map/Reduce portant le même nom apparaît sous le sous-nœud Big Data Batch du nœud Job Design.

Si vous devez partir d'un Job Map/Reduce Job vierge, cliquez-droit sur le nœud Job Design ou sur le sous-nœud Big Data Batch et sélectionnez Create Big Data Batch Job dans le menu contextuel. Un Job vierge s'ouvre dans l'espace de modélisation graphique. Pour plus d'informations, consultez la section décrivant comment créer un Job Map/Reduce dans le Guide de prise en main de Talend Big Data.

Réorganiser les composants

  1. Double-cliquez sur le Job Map/Reduce que vous venez de créer afin de l'ouvrir dans l'espace de modélisation graphique. La Palette de composants Map/Reduce s'ouvre et des composants peuvent être barrés, car il n'ont pas de version Map/Reduce.

  2. Cliquez-droit sur chacun des composants en question et sélectionnez Delete afin de les supprimer.

  3. Déposez un composant tHDFSInput, un tHDFSOutput et un tJDBCOutput dans l'espace de modélisation graphique. Le tHDFSInput lit les données à partir de la distribution Hadoop utilisée, le tHDFSOutput écrit les données dans cette distribution et le tJDBCOutput écrit les données dans une base de données, par exemple, une base de données MySQL pour ce scénario. Les deux composants de sortie remplacent les deux tLogRow pour écrire les données en sortie.

    Si vous partez d'un Job vierge, déposez également un tSortRow et un tUniqRow.

  4. Connectez le tHDFSInput au tSortRow à l'aide d'un lien Row > Main et acceptez le schéma provenant du tSortRow.

  5. Connectez le tUniqRow au tHDFSOutput à l'aide d'un lien Row > Uniques et au tJDBCOutput à l'aide d'un lien Row > Duplicates.

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 les composants d'entrée et de sortie

Configurer le tHDFSInput

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

  2. Cliquez sur le bouton situé à côté du champ Edit schema afin de vérifier si le schéma reçu dans les étapes précédentes a été correctement défini.

    Notez que si vous avez créé ce Job à partir d'un Job vierge, vous devez cliquer sur le bouton afin d'ajouter manuellement ces colonnes au schéma. Si le schéma a été défini dans le Repository, vous pouvez sélectionner l'option Repository dans la liste Schema de la vue Basic settings afin de le réutiliser. Pour plus d'informations sur comment définir un schéma dans le Repository, consultez le chapitre décrivant la gestion des métadonnées dans le Guide utilisateur deStudio Talend ou le chapitre décrivant le nœud Hadoop cluster du Repository dans le Guide de prise en main de Talend Big Data.

  3. Si vous effectuez des changements dans le schéma, cliquez sur OK afin de valider ces changements et acceptez la propagation proposée par la boîte de dialogue qui s'affiche.

  4. Dans le champ Folder/File, saisissez le chemin d'accès au fichier source que vous souhaitez que le Job lise. Vous pouvez également parcourir votre système de fichiers afin de définir ce chemin.

    Si le fichier ne se trouve pas dans le système HDFS utilisé, vous devez le placer dans le système HDFS. Pour cela, vous pouvez par exemple utiliser le tFileInputDelimited et le tHDFSOutput dans un Job Standard.

Vérifier les composants de transformation

  1. Double-cliquez sur le tSortRow afin d'ouvrir sa vue Component.

    Ce composant garde la configuration utilisée dans le Job d'origine. Il trie les données d'entrée par ordre alphabétique à partir des colonnes FirstName et LastName.

  2. Double-cliquez sur le tUniqRow pour ouvrir sa vue Component.

    Le composant garde également la configuration utilisée dans le Job d'origine. Il sépare les données d'entrées en un flux Uniques et un flux Duplicates (Doublons), puis envoie les données uniques dans le tHDFSOutput et les doublons dans le tJDBCOutput.

Configurer le tHDFSOutput

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

  2. Comme expliqué précédemment pour la vérification du schéma du tHDFSInput, procédez de la même manière afin de vérifier le schéma du tHDFSOutput. S'il ne correspond pas au schéma du composant précédent, le tUniqRow, cliquez sur Sync column afin de récupérer le schéma du tUniqRow.

  3. Dans le champ Folder, saisissez le chemin d'accès au dossier dans lequel vous souhaitez écrire les données uniques. Vous pouvez également parcourir votre système de fichiers afin de définir ce chemin.

  4. Dans la liste Action, sélectionnez l'opération que vous souhaitez exécuter sur le dossier en question. Si le dossier existe déjà, sélectionnez Overwrite. Sinon, sélectionnez Create.

Configurer le tJDBCOutput

  1. Double-cliquez sur le tJDBCOutput afin d'ouvrir sa vue Component.

  2. Dans le champ JDBC URL, saisissez l'URL de la base de données dans laquelle vous souhaitez écrire les doublons. Dans cet exemple, l'URL est jdbc:mysql://10.42.10.13:3306/Talend, une base de données MySQL appelée Talend.

  3. Dans le tableau Drive JAR, ajoutez une nouvelle ligne au tableau en cliquant sur le bouton .

  4. Cliquez sur cette nouvelle ligne, puis cliquez sur le bouton afin d'ouvrir la boîte de dialogue [Select Module]. Cette boîte de dialogue vous permet d'importer le fichier Jar requis par la base de données MySQL.

  5. Dans le champ Class name, saisissez la classe de fichier à appeler. Dans cet exemple, saisissez org.gjt.mm.mysql.Driver.

  6. Dans les champs User name et Password, saisissez les informations d'authentification relatives à cette base de données.

  7. Dans le champ Table name, saisissez le nom de la table dans laquelle vous souhaitez écrire les données, par exemple Namelist. Cette table doit exister.

Exécuter le Job

Appuyez sur la touche F6 pour exécuter le Job.

Une fois le Job exécuté, vous pouvez visualiser les résultats d'exécution dans la console Web de HDFS et dans la base de données MySQL.

Dans HDFS, les entrées uniques sont écrites dans des fichiers séparés.

Dans MySQL, deux données dupliquées sont ajoutées.

Si vous souhaitez plus d'informations concernant le Job et son exécution, utilisez la console Web fournie par la distribution Hadoop que vous utilisez.

Propriétés du tUniqRow dans des Jobs Spark Batch

Famille du composant

Processing

 

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].

 

 

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

 

 

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

 

Unique key

Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué.

- Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes.

- Cochez la case Case sensitive afin de différencier les majuscules et les minuscules.

Advanced settings

Only once each duplicated key

Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons.

Utilisation dans des Jobs Spark Batch

Dans un Job Talend Spark Batch, il est utilisé comme étape intermédiaire, avec d'autres composants Spark Batch. Ils génèrent nativement du code Spark pouvant être exécuté directement dans un cluster Spark.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Spark Connection

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario associé

Aucun scénario n'est disponible pour la version Spark Batch de ce composant.

Propriétés du tUniqRow dans des Jobs Spark Streaming

Avertissement

La version Streaming de ce composant est disponible dans la Palette du studio si vous avez souscrit à Talend Real-time Big Data Platform ou Talend Data Fabric.

Famille du composant

Processing

 

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].

 

 

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

 

 

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

 

Unique key

Sélectionnez dans cette zone une ou plusieurs colonnes sur lesquelles le dédoublonnage sera effectué.

- Cochez la case Key attribute afin d'effectuer le dédoublonnage sur toutes les colonnes.

- Cochez la case Case sensitive afin de différencier les majuscules et les minuscules.

Advanced settings

Only once each duplicated key

Cochez cette case si vous souhaitez envoyer uniquement les premières entrées en doublon des colonnes définies comme clé(s) vers le flux de sortie des doublons.

Utilisation dans des Jobs Spark Streaming

Dans un Job Talend Spark Streaming, ce composant est utilisé comme étape intermédiaire. Les composants utilisés avec celui-ci doivent également être des composants Spark Streaming. Ils génèrent nativement du code Spark Streaming pouvant être exécuté directement dans un cluster Spark.

Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming.

Notez que, dans cette documentation, sauf mention contraire , un scénario présente uniquement des Jobs de type Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Spark Connection

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario associé

Aucun scénario n'est disponible pour la version Spark Streaming de ce composant.