tMDMOutput

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Data Quality
Talend Open Studio for Big Data
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Open Studio for Data Integration
task
Gouvernance de données
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Fonction

Le composant tMDMOutput reçoit des données du composant qui le précède, génère un document XML, puis écrit des données dans un hub MDM en utilisant un champ de sortie.

Objectif

Ce composant vous permet d'écrire ou de supprimer des données sur le serveur MDM.

Propriétés du tMDMOutput

Famille du composant

Talend MDM

 

Basic settings

Property Type

Peut être Built-in ou Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

 

 

Built-in : Propriétés utilisées ponctuellement.

 

 

Repository : Sélectionnez le fichier de propriétés du composant. Les champs suivants sont alors pré-remplis à l'aide des données collectées.

 

Input Schema et Edit schema

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

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de 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, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

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.

 Build the document

Cochez cette case si vous souhaitez construire le document à partir d'un schéma plat. Dans ce cas, double-cliquez sur le composant et mappez votre schéma dans la boîte de dialogue qui s'ouvre.

Si la case est décochée, vous devez sélectionner, dans la liste Predefined XML document, une colonne de votre schéma contenant le document.

 

Result of the XML serialization

Sélectionnez le nom de la colonne de sortie dans laquelle vous souhaitez écrire les données XML.

 Use an existing connection

Cochez cette case pour utiliser un composant tMDMConnection déjà configuré.

 

MDM version

Par défaut, l'option Server 6.0 est sélectionnée. Bien qu'il soit recommandé de migrer les Jobs existants vers cette nouvelle version, l'option Server 5.6 est disponible pour faciliter le processus de migration de vos Jobs, afin qu'ils continuent à fonctionner avec un serveur 6.0 sans modification. Pour ce faire, une option sur le serveur doit être activée pour accepter et traduire les requêtes de ces Jobs.

 

URL

Saisissez l'URL d'accès au serveur MDM.

 

Username et Password

Saisissez les informations d'authentification de l'utilisateur du serveur MDM.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles et cliquez sur OK afin de sauvegarder les paramètres.

Note

Cet utilisateur doit avoir le bon rôle dans la solution MDM de Talend, c'est-à-dire qu'il puisse se connecter via un Job ou tout autre appel de service Web. Pour plus d'informations, consultez le Guide utilisateur du Studio Talend.

 

Data Model

Saisissez le nom du modèle de données en comparaison duquel les données à écrire seront validées.

 

Data Container

Saisissez le nom du conteneur de données dans lequel vous souhaitez écrire les données maître.

Note

Ce conteneur de données doit avoir été créé.

Type

Sélectionnez Master ou Staging pour spécifier sur quelle base de données effectuer l'action.

 

Return Keys

Columns corresponding to IDs in order : dans l'ordre séquentiel, définissez les colonnes de sortie qui stockeront les valeurs des clés retournées (clés primaires) des éléments à créer.

 

Is Update

Cochez cette case pour mettre à jour les champs modifiés.

Si vous ne cochez pas cette case, la totalité des champs sera remplacée par les champs modifiés.

 

Fire Create/Update event

Cochez cette case pour ajouter les actions effectuées à un rapport de modifications.

Source Name : Saisissez, entre guillemets, le nom de l'application à partir de laquelle les modifications sont apportées.

Enable verification by "before saving" transformer : Cochez cette case pour vérifier l'enregistrement qui vient d'être ajouté avant qu'il ne soit enregistré.

 

Use partial update

Cochez cette case si vous devez mettre à jour des éléments multi-occurences (attributs) d'une entité existante à partir du contenu d'un flux XML d'entrée.

Une fois la case cochée, vous devez configurer les paramètres ci-dessous :

- Pivot : saisissez le chemin XPath vers les sous-éléments multi-occurences dans lesquels des données doivent être ajoutées, remplacées ou supprimées dans l'entité de votre choix.

Par exemple, vous souhaitez ajouter un sous-élément fils à une entité existante, comme suit :

<Person>
    <Id>1</Id> <!-- record key is 
     mandatory -->
    <Children>
        <Child>[1234]</Child> 
     <!-- FK to a Person Entity -->
    </Children>
</Person>

le chemin XPath saisi dans le champ Pivot doit être comme suit : /Person/Addresses/Adress la case Overwrite doit être cochée et la champ Key configuré comme suit : /Type.

Dans cet exemple, nous supposons que l'entité MDM a seulement une adresse de type office, ainsi cette adresse de type office sera remplacée et l'adresse de type home sera ajoutée.

- Overwrite : cochez cette case si vous devez remplacer ou mettre à jour les sous-éléments originaux par les sous-éléments d'entrée. Laissez cette case décochée si vous souhaitez ajouter un sous-élément.

- Key : saisissez le chemin XPath relatif au pivot qui permettra de mettre en correspondance le sous-élément du flux XML d'entrée avec le sous-élément de l'entité. Si une clé n'est pas fournie, tous les sous-éléments de l'entité ayant un XPath qui correspond à celui du sous-élément du flux XML d'entrée seront remplacés. Si plus d'un sous-élément correspond à la clé, MDM met à jour le premier qu'il rencontre. Si aucun sous-élément ne correspond à la clé, elle est ajoutée à la fin de la collection.

-Position : saisissez un chiffre pour indiquer la position après laquelle les nouveaux éléments (ceux qui ne correspondent pas à la clé) seront ajouté. Si vous ne renseignez pas ce champ, les nouveau éléments seront ajoutés à la fin.

- Delete : cochez cette case si vous devez supprimer un ou plusieurs sous-éléments des sous-éléments originaux.

Par exemple, si vous devez supprimer deux "houses" de l'élément suivant :

<Person>
	<Id>1</Id>
	<Name>p1</Name>
	<Houses>
		<House>[1]</House>
		<House>[2]</House>
		<House>[3]</House>
	</Houses>
	<Children>
		<Child>
			<Name>k1</Name>
			<Age>1</Age>
			<Habits>
				<Habit>Basketball</Habit>
				<Habit>Football</Habit>
				<Habit>Tennis</Habit>
				<Habit>Boxing</Habit>
			</Habits>
		</Child>
		<Child>
			<Name>k2</Name>
			<Age>2</Age>
		</Child>
	</Children>
</Person>

le Xpath saisi dans le champ Pivot doit se présenter comme suit : /Person/Houses/House. La case Delete est cochée et le champ Key est configuré à . ou empty. De plus, vous devez fournir le flux XML source comme suit :

<Person>
	<Id>1</Id>
	<Houses>
		<House>[1]</House>
		<House>[2]</House>
	</Houses>
</Person>

Dans ce cas, les sous-éléments House [1] et House [2] seront supprimés.

Pour plus d'exemples relatifs à des opérations de mises à jour partielles, consultez Exemples d'opérations de mises à jour partielles à l'aide du tMDMOutput.

Die on error

Cette case est cochée par défaut et stoppe le Job en cas d'erreur. Décochez cette case pour terminer le traitement avec les lignes sans erreurs, et ignorer les lignes en erreur. Vous pouvez récupérer les lignes en erreur, si vous le souhaitez. Pour cela, utilisez un lien Row > Rejects.

Advanced settings

Extended Output

Cochez cette case pour commiter les données maître par lot.

Rows to commit : saisissez le nombre de lignes par lot.

 

Configure Xml Tree

Ouvrez l'interface d'aide à la création de la structure XML des données maître à écrire.

Group by

Sélectionnez la colonne à utiliser pour regrouper les données maître.

 

Create empty element if needed

Cette case est cochée par défaut. Si le contenu de la colonne Related Column de l'interface permettant de créer la structure XML est nul, ou si aucune colonne n'est associée au nœud XML, cette option créera une balise ouvrante et une balise fermante aux endroits prévus.

 

Advanced separator (for number)

Cochez cette case pour modifier les séparateurs utilisés par défaut dans les nombres :

- Thousands separator : saisissez entre guillemets le séparateur à utiliser pour les milliers.

- Decimal separator : saisissez entre guillemets le séparateur à utiliser pour les décimales.

 

Generation mode

Sélectionnez le mode de génération correspondant à votre mémoire disponible. Les modes disponibles sont :

  • Lent et consommateur de mémoire (Slow and memory-consuming - Dom4J).

    Note

    Cette option vous permet d'utiliser Dom4J pour traiter des fichiers XML très complexes.

  • Rapide et peu consommateur de mémoire (Fast with low memory consumption (SAX)).

 

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Ce champ est obligatoire pour la manipulation des données de base de données.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du 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.

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

NB_LINE_REJECTED : nombre de lignes rejetées. Cette variable est une variable After et retourne un entier.

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

Utilisez ce composant pour écrire un fichier et séparer les champs à l'aide d'un séparateur spécifique.

Scénario : Écrire des données maître dans un hub MDM

Ce scénario décrit un Job à deux composants qui génère un enregistrement de données, transforme ces données en XML et les charge dans l'entité métier définie sur le serveur MDM .

Dans cet exemple, l'objectif est de charger une nouvelle agence dans l'entité métier Agency. Cette nouvelle agence possède un identifiant, un nom et trois bureaux situés dans différentes villes.

Pour plus d'informations sur les entités, consultez le Guide utilisateur du Studio Talend.

Placer et relier les composants

  1. À partir de la Palette, glissez les composants tFixedFlowInput et tMDMOutput dans l'espace de modélisation graphique.

  2. Reliez-les via un lien de type Row > Main.

Configurer les composants

Préparer le chargement des données dans le serveur MDM

  1. Double-cliquez sur le composant tFixedFlowInput pour afficher l'onglet Basic settings de la vue Component.

  2. Dans la liste Schema, sélectionnez Built-In et cliquez sur le bouton [...] à côté du champ Edit schema pour décrire la structure des données maître que vous souhaitez écrire dans le serveur MDM.

  3. Ajoutez cinq colonnes de type String en cliquant sur le bouton [+].

    Pour ce scénario, nommez-les Id, Name, Office_R_and_D, Office_Sales, et Office_Services.

  4. Cliquez sur OK pour valider vos modifications.

  5. Dans le champ Number of rows, saisissez le nombre de lignes que vous souhaitez générer.

  6. Dans la zone Mode, sélectionnez le mode Use Single Table pour ne générer qu'une seule table.

  7. Dans le tableau Values, saisissez entre guillemets, dans chaque champ Value, la valeur correspondant à chaque colonne du schéma.

Paramètres simples du tMDMOutput

  1. Dans l'espace de modélisation graphique, cliquez sur le tMDMOutput pour ouvrir sa vue Basic settings.

  2. Dans la liste Schema, sélectionnez Built-In et cliquez sur le bouton [...] à côté du champ Edit schema pour décrire la structure des données maître que vous souhaitez charger sur le serveur MDM.

    Le composant tMDMOutput génère un document XML, l'écrit dans un champ de sortie et l'envoie au serveur MDM.

  3. Cliquez sur OK pour passer à l'étape suivante.

    La liste Result of the XML serialization dans l'onglet Basic settings est automatiquement renseignée avec la colonne xml.

  4. Dans le champ URL, saisissez entre guillemets l'URL de connexion au serveur MDM.

  5. Dans les champs Username et Password, saisissez l'identifiant et le mot de passe de connexion au serveur MDM.

  6. Dans le champ Data Model, saisissez entre guillemets le nom du modèle de données par rapport auquel vous souhaitez valider les données maître que vous souhaitez écrire.

  7. Dans le champ Data Container, saisissez entre guillemets le nom du conteneur de données dans lequel les données maître doivent être écrites.

  8. Cochez la case Is Update si vous souhaitez uniquement mettre à jour des champs et non l'enregistrement de données complet.

Paramètres avancés du tMDMOutput

  1. Dans la vue Component, cliquez sur l'onglet Advanced settings pour configurer les paramètres avancés du composant.

  2. Cochez la case Extended Output si vous souhaitez commiter les données maître par lot. Vous pouvez spécifier le nombre de lignes par lot dans le champ Rows to commit.

    Vous pouvez également double-cliquer sur le tMDMOutput pour ouvrir son éditeur.

  3. Dans la zone Link target à droite, cliquez dans le champ Xml Tree et remplacez rootTag par le nom de l'entité métier dans laquelle vous souhaitez insérer l'enregistrement de données, Agency dans cet exemple.

  4. Dans la zone Linker source, sélectionnez les deux colonnes de votre schéma Id et Name et glissez-les sur le nœud Agency.

    La boîte de dialogue [Selection] s'ouvre.

    Sélectionnez Create as sub-element of target node pour que vos deux colonnes correspondent à deux sous-éléments du nœud Agency en XML. Cliquez sur OK.

  5. Cliquez-droit sur le nœud racine Agency puis sélectionnez Add Sub-element.

    Dans la boîte de dialogue qui s'ouvre, saisissez le nom du nouveau sous-élément, Offices dans cet exemple.

    Répétez la même procédure pour créer trois nouveaux sous-éléments Office du nœud Offices qui correspond à l'élément multi-occurrences Offices de l'entité métier Agency.

  6. Dans la zone Linker source, sélectionnez les trois colonnes du schéma Office_R_and_D, Office_Sales et Office_Services et glissez-les respectivement dans les trois nouveaux nœuds Office.

    La boîte de dialogue [Selection] s'ouvre.

    Sélectionnez Create as sub-element of target node pour que les trois colonnes correspondent aux trois sous-éléments du nœud Offices en XML.

  7. Cliquez sur Ok pour passer à l'étape suivante

  8. Dans la zone Link target cliquez-droit sur l'élément que vous souhaitez définir comme élément sur lequel effectuer une boucle, puis sélectionnez Set as Loop Element dans le menu contextuel.

    Dans cet exemple, City est l'élément d'itération.

  9. Cliquez sur OK pour valider vos modifications et fermer l'éditeur.

Enregistrer et exécuter le Job

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

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

    Le nouvel enregistrement de données est inséré dans l'entité métier Agency, dans le conteneur de données DStar, sur le serveur MDM. Cet enregistrement de données contient, comme défini dans le schéma, l'ID de l'agence, son nom et ses trois bureaux situés dans trois villes.

Supprimer partiellement des données maître du hub MDM

Ce scénario explique comment supprimer partiellement les données maître écrites dans le serveur MDM dans le scénario Scénario : Écrire des données maître dans un hub MDM.

Dans cet exemple, un bureau de l'agence va être supprimé de l'entité métierAgency. L'agence possède actuellement un identifiant, un nom et trois bureaux situés dans différentes villes.

Pour plus d'informations sur les entités, consultez le Guide utilisateur du Studio Talend.