Propriétés du tJavaMR - 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

Famille du composant

Custom Code

 

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.

  

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.

  

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

 

Map only

Cochez cette case afin d'éditer et utiliser uniquement un mapping personnalisé. Dans ce cas, seuls le champ Map code et la zone Map advanced code sont disponibles.

 

Map code

Saisissez le corps de la méthode map que vous souhaitez exécuter.

Ce composant définit automatiquement les autres parties de la méthode map. Si vous n'utilisez pas l'option Map only, le tJavaMR utilise également de manière automatique le nom des colonnes spécifiées dans les tables mrKeyStruct et mrValueStruct. Cela permet d'instancier l'intermédiaire des paires clé/valeur entre la phase map et la phase reduce.

Par exemple, dans la table mrKeyStruct, nommez la colonne word. Ensuite, lorsque vous écrivez le code, saisissez mrKey.word afin de représenter l'instance de la clé correspondante. A l'exécution, cette instance est automatiquement construite afin d'avoir la structure mrKey_component_ID.word comme par exemple mrKey_tJavaMR_1.word.

Notez que le texte affiché au-dessus du champ Map code montre les paramètres que vous pouvez directement utiliser pour écrire le code, comme par exemple mrKey, mrValue ou outputRow.

Pour plus d'informations sur la méthode map et l'intermédiaire des paires clé/valeur générées en sortie, consultez https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/Mapper.html (en anglais).

Pour plus d'informations sur la syntaxe des fonctions Java spécifiques à Talend, consultez l'aide du Studio Talend (Help > Developer Guide > API Reference).

Pour une référence Java complète, consultez http://docs.oracle.com/javaee/6/api/ (en anglais).

 

mrKeyStruct et mrValueStruct

Dans ces deux tables, ajoutez les colonnes que vous souhaitez utiliser afin de composer les paires clé/valeur requises par les opérations MapReduce.

 

Reduce code

Saisissez le corps de la méthode reduce que vous souhaitez exécuter.

Ce composant définit automatiquement les phases de regroupement (shuffle) et de tri ainsi que les autres parties de la méthode reduce. Il utilise également le nom des colonnes spécifiées dans les tables mrKeyStruct et mrValueStruct. Cela permet d'instancier l'intermédiaire des paires clé/valeur qui ont été regroupées et triées.

Par exemple, dans la table mrKeyStruct, nommez la colonne word. Ensuite, lorsque vous écrivez le code, saisissez key.word afin de représenter l'instance de la clé correspondante. A l'exécution, cette instance est automatiquement construite afin d'avoir la structure key_component_ID.word comme par exemple key_tJavaMR_1.word. De même, dans la table mrValueStruct, saisissez count. Ensuite, saisissez values.count afin de définir l'instance de la valeur correspondante. A l'exécution, cette instance est automatiquement construite afin d'avoir la structure values_component_ID.count comme par exemple values_tJavaMR_1.count.

Notez que le texte affiché au-dessus du champ Reduce code montre les paramètres que vous pouvez directement utiliser pour écrire le code.

Pour plus d'informations sur la méthode reduce, ses phases et les paires clé/valeur, consultez https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/Reducer.html (en anglais).

Pour plus d'informations sur la syntaxe des fonctions Java spécifiques à Talend, consultez l'aide du Studio Talend (Help > Developer Guide > API Reference).

Pour une référence Java complète, consultez http://docs.oracle.com/javaee/6/api/ (en anglais).

Advanced settings

Map advanced code

Dans cette zone, définissez les classes, les variables et les méthodes que vous souhaitez utiliser avec la méthode map définie dans la vue Basic settings. Notez que le code saisi dans cette zone n'est pas requis pour utiliser le tJavaMR.

Trois champs sont disponibles :

Implement the prepare code : cochez cette case et, dans le champ qui s'affiche, définissez les variables, les méthodes et les classes internes à inclure dans le corps de la classe publique de la partie Map de ce composant.

Implement the configure method : cochez cette case et, dans le champ qui s'affiche, définissez le corps de la méthode configure pour la partie Map de ce composant.

Implement the close method : cochez cette case et, dans le champ qui s'affiche, définissez le corps de la méthode close de la partie Map de ce composant.

 

Reduce advanced code

Dans cette zone, définissez les classes, les variables et les méthodes que vous souhaitez utiliser avec la méthode reduce définie dans la vue Basic settings. Notez que le code saisi dans cette zone n'est pas requis pour utiliser le tJavaMR.

Trois champs sont disponibles :

Implement the prepare code : cochez cette case et, dans le champ qui s'affiche, définissez les variables, les méthodes et les classes internes à inclure dans le corps de la classe publique de la partie Reduce de ce composant.

Implement the configure method : cochez cette case et, dans le champ qui s'affiche, définissez le corps de la méthode configure pour la partie Reduce de ce composant.

Implement the close method : cochez cette case et, dans le champ qui s'affiche, définissez le corps de la méthode close de la partie Reduce de ce composant.

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

Une fois le Job Map/Reduce ouvert dans l'espace de modélisation graphique, le tJavaMR apparaît dans la Palette du Studio. Il est utilisé en tant qu'étape intermédiaire dans un Job 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.

Hadoop Connection

Vous devez utiliser l'onglet Hadoop Configuration de la vue Run afin de définir la connexion à une distribution Hadoop donnée pour le Job complet.

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