tMDMReceive - 6.3

Talend Open Studio for Big Data Components Reference Guide

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Big Data
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

Function

tMDMReceive receives an MDM record in XML from MDM triggers or MDM processes.

Purpose

This component decodes a context parameter holding MDM XML data and transforms it into a flat schema.

tMDMReceive properties

Component family

Talend MDM

 

Basic Settings

Property Type

Either Built in or Repository.

Since version 5.6, both the Built-In mode and the Repository mode are available in any of the Talend solutions.

 

 

Built-in: No property data stored centrally.

 

 

Repository: Select the repository file where properties are stored. The fields that follow are completed automatically using the fetched data.

 

Schema and Edit Schema

A schema is a row description, it defines the number of fields that will be processed and passed on to the next component. The schema is either built-in or remote in the Repository.

Click Edit schema to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this option to view the schema only.

  • Change to built-in property: choose this option to change the schema to Built-in for local changes.

  • Update repository connection: choose this option to change the schema stored in the repository and decide whether to propagate the changes to all the Jobs upon completion. If you just want to propagate the changes to the current Job, you can select No upon completion and choose this schema metadata again in the [Repository Content] window.

 

 

Built-in: The schema will be created and stored for this component only. Related Topic: see Talend Studio User Guide.

 

 

Repository: The schema already exists and is stored in the repository. You can reuse it in various projects and jobs. Related Topic: see Talend Studio User Guide.

 

XML Record

Enter the context parameter allowing to retrieve the last changes made to the MDM server. For more information about creating and using a context parameter, see Talend Studio User Guide.

 

XPath Prefix

If required, select from the list the looping xpath expression which is a concatenation of the prefix + looping xpath.

/item: select this xpath prefix when the component receives the record from a process because processes encapsulate the record within an item element only.

/exchange/item: select this xpath prefix when the component receives the record from a trigger because triggers encapsulate the record within an item element which is within an exchange element.

 

Loop XPath query

Set the XML structure node on which the loop is based.

 

Mapping

Column: reflects the schema as defined in the Edit schema editor.

XPath query: Type in the name of the fields to extract from the input XML structure.

Get Nodes: Select this check box to retrieve the XML node together with the data.

 

Limit

Maximum number of rows to be processed. If Limit = 0, no row is read or processed.

 

Die on error

This check box is selected by default. Clear the check box to skip the row on error and complete the process for error-free rows. If needed, you can retrieve the rows on error via a Row > Reject link.

Advanced settings

tStatCatcher Statistics

Select this check box to gather the processing metadata at the Job level as well as at each component level.

Global Variables

ERROR_MESSAGE: the error message generated by the component when an error occurs. This is an After variable and it returns a string. This variable functions only if the Die on error check box is cleared, if the component has this check box.

NB_LINE: the number of rows processed. This is an After variable and it returns an integer.

A Flow variable functions during the execution of a component while an After variable functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl + Space to access the variable list and choose the variable to use from it.

For further information about variables, see Talend Studio User Guide.

Usage

Use this component as a start component. It needs an output flow.

Scenario: Extracting information from an MDM record in XML

The following scenario describes a simple Job which will extract the information of interest from an MDM record in XML and display it on the console.

Scenario prerequisites

A data container Product and a data model Product are created and deployed to MDM server. The Product and Store data entities are defined and some data records already exist in them.

The entities Product and Store are linked by a foreign key which is the Name of the Store.

This example is designed to obtain the store information for a new product. Therefore, when you create a new Product record, make sure that the Store information is also added for the new Product record.

The entities and their attributes are shown below.

For more information about MDM working principles, see the MDM part in Talend Studio User Guide.

Dropping and linking the components

  1. Drop the following components from the Palette onto the design workspace: tMDMReceive, and tLogRow.

  2. Connect tMDMReceive to tLogRow using a Row > Main link.

  3. Rename the components to better identify their functions.

Configuring the components

Defining a context variable

  1. From the Contexts tab, click the [+] button to add one variable and name it exchangeMessage.

  2. Fill in the variable value in the Value field.

    Note that the XML record must conform to a particular schema. For more information about the schema, see the description of processes and schemas used in MDM processes to call Jobs in Talend Studio User Guide.

    One sample of XML record from the Update Report is as follows:

    <exchange xmlns:mdm="java:com.amalto.core.plugin.base.xslt.MdmExtension">
    <report>
    <Update>
    <UserName>administrator</UserName>
    <Source>genericUI</Source>
    <TimeInMillis>1381486872930</TimeInMillis>
    <OperationType>ACTION</OperationType>
    <RevisionID>null</RevisionID>
    <DataCluster>Product</DataCluster>
    <DataModel>Product</DataModel>
    <Concept>Product</Concept>
    <Key>2</Key>
    </Update>
    </report>
    <item><Product><Id>001</Id><Name>Computer</Name><Description>Laptop series</Description><Availability>true</Availability><Price>400</Price><OnlineStore>TalendShop@@http://www.cafepress.com/Talend.2</OnlineStore><Stores><Store>[Dell]</Store><Store>[Lenovo]</Store></Stores></Product></item>
    </exchange>

    In this example, the XML record is trimmed like this:

    <exchange><report/><item><Product><Id>001</Id><Name>Computer</Name><Description>Laptop series</Description><Availability>true</Availability><Price>400</Price><OnlineStore>TalendShop@@http://www.cafepress.com/Talend.2</OnlineStore><Stores><Store>[Dell]</Store><Store>[Lenovo]</Store></Stores></Product></item></exchange>
  3. Press Ctrl+S to save your changes.

Configuring tMDMReceive and tLogRow

  1. Double-click the tMDMReceive component to open its Basic settings view in theComponent tab.

  2. Click the [...] button next to Edit schema to define the desired data structure. In this example, three columns are added: Product_ID, Product_Name, and Store_Name.

  3. In the XML Record field, fill in the context variable context.exchangeMessage.

  4. From the XPath Prefix list, select "/exchange/item".

  5. In the Loop XPath query field, type in the name of the XML tree root tag. In this example, type in "/Product/Stores/Store".

  6. The Column column in the Mapping table is populated with the columns defined in the schema. In the XPath query column, enter the XPath query accordingly. In this example, the information of product ID, product name and store name will be extracted.

  7. Double-click the tLogRow component to open its Basic settings view in the Component tab.

  8. Select Table (print values in cells of a table) in the Mode area.

Saving and executing the Job

  1. Press Ctrl+S to save your Job.

  2. Execute the Job by pressing F6 or clicking Run on the Run tab.

    The product information of interest extracted from the XML record is displayed on the console.