Exemples d'opérations de mises à jour partielles à l'aide du tMDMOutput - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
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

Cette section démontre comment configurer les paramètres dans le composant tMDMOutput pour effectuer des opérations de mises à jour partielles, via différents exemples.

Mise à jour partielle avec écrasement activé ou désactivé

Les deux exemples suivants expliquent comment ajouter des éléments à une entité existante avec des attributs multi-occurrence et mettre à jour les nouveaux éléments en se basant sur le contenu d'un flux XML source.

Voici un exemple d'élément existant :

<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>
	</Children>
<Person>

Exemple 1 : Si vous souhaitez ajouter deux éléments Child à l'élément existant, le Xpath que vous saisissez dans le champ Pivot doit se présenter comme suit : /Person/Children/Child où la case Overwrite est décochée et le champ Key est configuré à /Name. Notez que l'élément Child est de type complexe et doit être identifié avec le champ Key. De plus, vous devez fournir le flux XML source comme suit :

<Person>
	<Id>1</Id>
	<Children>
		<Child>
			<Name>k2</Name>
		</Child>
		<Child>
			<Name>k3</Name>
		</Child>
	</Children>
</Person>

Dans ce cas, les deux éléments enfants Child [k2] et Child [k3] sont ajoutés et vous obtenez le résultat 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>
		</Child>
		<Child>
			<Name>k3</Name>
		</Child>
	</Children>
</Person>

Exemple 2 : Si vous souhaitez modifier le nom des deux éléments enfants Child [k2] et Child [k3], l'expression Xpath que vous saisissez dans le champ Pivot doit se présenter comme suit : /Person/Children/Child où la case Overwrite est cochée et le champ Key est configuré à /Name. De plus, vous devez fournir le flux XML source comme suit :

<Person>
	<Id>1</Id>
	<Children>
		<Child>
			<Name>Tina</Name>
		</Child>
		<Child>
			<Name>Tommy</Name>
		</Child>
	</Children>
</Person>

Dans ce cas, le nom des deux éléments enfants Child [k2] et Child [k3] est mis à jour et vous obtenez le résultat 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>Tina</Name>
		</Child>
		<Child>
			<Name>Tommy</Name>
		</Child>
	</Children>
</Person>

Mise à jour partielle avec suppression activée

Les exemples suivants expliquent comment supprimer certains éléments d'une entité existante avec des attributs multi-occurrence se basant sur le contenu d'un flux XML source.

Voici un exemple d'élément existant :

<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>
		<Child>
			<Name>k3</Name>
			<Age>3</Age>
		</Child>
	</Children>
	<Habits>
		<Habit>Basketball</Habit>
		<Habit>Football</Habit>
		<Habit>Tennis</Habit>
		<Habit>Boxing</Habit>
	</Habits>
	<Pets>
		<Pet>Cat</Pet>
	</Pets>
	<Pets>
		<Pet>Dog</Pet>
	</Pets>
	<Pets>
		<Pet>Pig</Pet>
	</Pets>
	<Pets>
		<Pet>Cow</Pet>
	</Pets>
</Person>

Exemple 1 : Si vous souhaitez supprimer deux éléments enfants de l'élément existant, l'expression Xpath que vous saisissez dans le champ Pivot doit se présenter comme suit : /Person/Children/Child où la case Delete est cochée et le champ Key est configuré à /Name. Notez que l'élément Child est de type complexe et doit être identifié par son champ Key. De plus, vous devez fournir le flux XML source comme suit :

<Person>
	<Id>1</Id>
	<Children>
		<Child>
			<Name>k2</Name>
		</Child>
		<Child>
			<Name>k3</Name>
		</Child>
	</Children>
</Person>

Dans ce cas, les deux éléments Child [k2] et Child [k3] sont supprimés et vous obtenez le résultat suivant :

<Person>
	<Id>1</Id>
	<Name>p1</Name>
	...
	<Children>
		<Child>
			<Name>k1</Name>
			<Age>1</Age>
			<Habits>
				<Habit>Basketball</Habit>
				<Habit>Football</Habit>
				<Habit>Tennis</Habit>
				<Habit>Boxing</Habit>
			</Habits>
		</Child>
	</Children>
	...
</Person>

Exemple 2 : Si vous souhaitez supprimer des éléments habits pour l'élément Person, l'expression Xpath que vous saisissez dans le champ Pivot doit se présenter comme suit : /Person/Habits/Habit où 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>
	<Habits>
		<Habit>Basketball</Habit>
		<Habit>Football</Habit>
		<Habit>Boxing</Habit>
	</Habits>
</Person>

Dans ce cas, les trois éléments Habit [Basketball], Habit [Football] et Habit [Boxing] sont supprimés et vous obtenez le résultat suivant :

<Person>
	<Id>1</Id>
	<Name>p1</Name>
	...
	<Habits>
		<Habit>Tennis</Habit>
	</Habits>
	...
</Person>

Exemple 3 : Si vous souhaitez supprimer des éléments habits à l'élément Child [k1], le Xpath que vous devez saisir dans le champ Pivot doit se présenter comme suit : /Person/Children/Child[1]/Habits/Habit où la case Delete est cochée et le champ Key est configuré à . ou empty. Notez que l'élément Child[1] est utilisé dans le champ Pivot pour identifier les habitudes (habits) de l'enfant (child) à supprimer. De plus, vous devez fournir le flux XML source comme suit :

<Person>
	<Id>1</Id>
	<Children>
		<Child>
			<Habits>
				<Habit>Basketball</Habit>
				<Habit>Football</Habit>
			</Habits>
		</Child>
	</Children>
</Person>	

Dans ce cas, les deux éléments Habit [Basketball] et Habit [Football] sont supprimés et vous obtenez le résultat suivant :

<Person>
	<Id>1</Id>
	<Name>p1</Name>
	...
	<Children>
		<Child>
			<Name>k1</Name>
			<Age>1</Age>
			<Habits>
				<Habit>Tennis</Habit>
				<Habit>Boxing</Habit>
			</Habits>
		</Child>
		<Child>
			<Name>k2</Name>
			<Age>2</Age>
		</Child>
		<Child>
			<Name>k3</Name>
			<Age>3</Age>
		</Child>
	</Children>
	...
</Person>

Exemple 4 : Si vous souhaitez supprimer des attributs pets (animaux de compagnie) pour un élément Person, l'expression Xpath que vous saisissez dans le champ Pivot doit se présenter comme suit : /Person/Pets où la case Delete est cochée et le champ Key est configuré à /Pet. De plus, vous devez fournir le flux XML source comme suit :

<Person>
	<Id>1</Id>
	<Pets>
		<Pet>Cat</Pet>
	</Pets>
	<Pets>
		<Pet>Pig</Pet>
	</Pets>
</Person>

Dans ce cas, les deux éléments Pet [Cat] et Pet [Pig] sont supprimés et vous obtenez le résultat suivant :

<Person>
	<Id>1</Id>
	<Name>p1</Name>
	...
	<Pets>
		<Pet>Dog</Pet>
	</Pets>
	<Pets>
		<Pet>Cow</Pet>
	</Pets>
</Person>