cFlatPack

Composants Mediation Talend ESB Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Talend Data Fabric
Talend ESB
Talend MDM Platform
Talend Data Services Platform
task
Création et développement
EnrichPlatform
Studio Talend

Propriétés du cFlatPack

Famille du composant

Transformation

Fonction

Le composant cFlatPack supporte le parsing de fichiers à largeur fixe et délimités via la bibliothèque FlatPack library.

Objectif

Le cFlatPack parse des fichiers vers des modèles Object.

Basic settings

Lorsque ce composant est utilisé en tant que composant de début au sein d'une Route :

 

PZMAP FileType

Le fichier PZMAP est le fichier de configuration Flatpack utilisé pour configurer la structure du fichier d'entrée. Pour plus d'informations concernant la configuration du fichier PZMAP, consultez le site Web http://flatpack.sourceforge.net/documentation/index.html (en anglais).

Sélectionnez le type de fichier PZMAP, Filename ou Repository Resource.

Filename : Le fichier PZMAP est stocké dan votre système de fichiers local.

Repository Resource : Le fichier PZMAP est stocké dans le nœud Resources du Repository.

 

PZMAP Filename

Cette option est disponible lorsque l'option Filename est sélectionnée dans la liste PZMAP FileType. Saisissez le chemin d'accès ou parcourez votre système jusqu'au fichier PZMAP.

 

PZMAP Repository Resource

Cette option est disponible lorsque l'option Repository Resource est sélectionnée dans la liste PZMAP FileType. Cliquez sur le bouton [...] et sélectionnez le fichier PZMAP sous le nœud Resources dans la boîte de dialogue.

 

Fixed Positional file

Sélectionnez cette option si le fichier est dans un format fixe.

Delimited file

Sélectionnez cette option si le fichier est délimité.

Text Qualifier : spécifiez l'identificateur de texte pour les fichiers délimités. La valeur par défaut est ".

Text Delimiter : spécifiez le caractère délimitant pour les fichiers délimités. La valeur par défaut est ,.

 

Split Rows

Cochez cette case pour traiter chaque ligne une par une.

 

Ignore First Record

Cochez cette case pour ignorer la première ligne pour les fichiers délimités (pour l'en-tête des colonnes). Cette option est disponible uniquement si l'option Delimited file est sélectionnée.

 

Allow Short Lines

Cochez cette case pour permettre les lignes plus courtes qu'attendu par le fichier PZMAP.

 

Ignore Extra Columns

Cochez cette case pour permettre les lignes plus longues qu'attendu par le fichier PZMAP et ignorer les caractères supplémentaires.

 

Lorsque ce composant est utilisé en tant que composant de milieu ou de fin dans une Route :

 

Use Exist cFlatPack

Cliquez sur le bouton [...] et sélectionnez le composant cFlatPack à utiliser comme parseur de fichier dans la boîte de dialogue.

Utilisation

Le composant cFlatPack peut être utilisé en tant que composant d"entrée, de milieu ou de sortie dans une Route.

Limitation

 n/a

Scénario : Parser un fichier délimité à l'aide d'un composant cFlatPack

Dans ce scénario, un composant cFile lit un fichier délimité d'un système de fichiers local, contenant les informations clients, notamment l'ID, le prénom, le nom, l'ID de la commande, comme ci-dessous :

1,"Harry",Carter,21
2,Padre,Boulevard,22
3,Andrew,Polk,23
4,Herbert,Reagan,"24"
5,Chester,Eisenhower,25

Le fichier est parsé par le composant cFlatPack, à l'aide d'un fichier XML PZMAP prédéfini :

<?xml version="1.0"?>
<!-- DTD can be pulled from the Jar or over the web-->
<!DOCTYPE PZMAP SYSTEM	"flatpack.dtd" >
<!--<!DOCTYPE PZMAP SYSTEM	"http://flatpack.sourceforge.net/flatpack.dtd" >-->
<PZMAP>
	<COLUMN name="id" length="5" />
	<COLUMN name="name" length="20" />
	<COLUMN name="surname" length="20" />
	<COLUMN name="orderid" length="5" />
</PZMAP> 

Les informations clients sont affichées dans la console d'exécution par un composant cBean.

Pour plus d'informations concernant la configuration du fichier PZMAP, consultez le site Web http://flatpack.sourceforge.net/documentation/index.html (en anglais).

Créer un Bean

Dans cette section, un Bean Java est créé pour afficher l'ID, le prénom et le nom parmi les informations clients avec les noms de colonnes correspondants dans la console d'exécution.

  1. Dans la vue du référentiel, développez le nœud Code et cliquez-droit sur le nœud Beans. Dans le menu contextuel, sélectionnez Create Bean.

    L'assistant [New Bean] s'ouvre. Dans le champ Name, saisissez un nom pour le Bean, par exemple, ReadOrder. Cliquez sur Finish pour fermer l'assistant. Le Bean est automatiquement ouvert dans l'espace de modélisation graphique.

  2. Saisissez le code suivant dans l'espace de modélisation graphique.

    package beans;
    
    import org.apache.camel.Exchange;
    
    public class ReadOrder {
    	
    
    	public static void getCustomer(Exchange exch) { 
    		if(exch.getIn().getBody() !=null)
    		{ 
    			java.util.Map data = exch.getIn().getBody(java.util.Map.class); 
    			if(data != null){ 
    				String id= (String)(data.get("id")); 
    				System.out.println("id :"+id);
    				String name= (String)(data.get("name")); 
    				System.out.println("name :"+name);
    				String surname= (String)(data.get("surname")); 
    				System.out.println("surname :"+surname);
    				exch.getIn().setBody("<customer><id>" + id + "</id><name>" + name + "</name><surname>" + surname + "</surname></customer>", String.class);
    			} 
    		}
    	}
    	
    	
    }
    

  3. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Bean.

Pour plus d'informations concernant la création et l'utilisation de Beans Java, consultez le Guide utilisateur du Studio Talend.

Construire le Job

  1. Dans la Palette, glissez-déposez un cFile, deux cFlatPack, un cBean et un cLog dans l'espace de modélisation graphique.

  2. Reliez les composants à l'aide de liens Row > Route comme dans la capture d'écran.

  3. Renommez les composants afin de mieux identifier leur rôle au sein de la Route.

Configurer les composants et connexions

  1. Double-cliquez sur le composant Delimited_file dans l'espace de modélisation graphique pour afficher sa vue Basic settings.

  2. Dans le champ Path, saisissez ou parcourez votre système jusqu'au fichier flatpack.

    Dans le champ FileName, saisissez le nom du fichier à traiter.

  3. Double-cliquez sur le Flat_file_parser pour afficher sa vue Basic settings.

  4. Cliquez sur le bouton [...] et, dans l'assistant [Select a Node:], sélectionnez FlatPack_config afin de configurer la structure du fichier d'entrée.

  5. Double-cliquez sur le FlatPack_config pour afficher sa vue Basic settings.

  6. Dans la liste PZMAP FileType, sélectionnez Filename pour utiliser le fichier XML PZMAP du système de fichiers local afin de configurer la structure du fichier d'entrée.

    Dans le champ PZMAP Filename, parcourez votre système jusqu'à l'emplacement où est situé le fichier XML PZMAP.

    Cochez la case Allow Short Lines pour autoriser les lignes plus courtes qu'attendu dans le fichier PZMAP.

    Laissez les paramètres des autres options par défaut.

  7. Double-cliquez sur le ReadOrder pour afficher sa vue Basic settings.

  8. Sélectionnez l'option New Instance pour invoquer un Bean Java stocké dans le nœud Code du Repository.

    Dans le champ Bean class, saisissez le nom de la classe du Bean, beans.ReadOrder.class qui vient d'être créé.

  9. Laissez les paramètres par défaut du composant cLog afin d'enregistrer les échanges de messages.

  10. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Route.

Visualiser le code et exécuter la Route

  1. Cliquez sur l'onglet Code au bas de l'espace de modélisation graphique et regardez le code généré.

    Comme affiché dans le code, une Route est construite depuis le "Delimited_file_cFile_1" vers le "cFlatPack_1". Une autre Route est construite depuis le cFlatPack_2, traitée par le "cBean_1" et "cLog_1" à la suite.

  2. Cliquez sur l'onglet Run pour afficher la vue correspondante et cliquez sur le bouton Run pour lancer l'exécution de votre Route. Vous pouvez également appuyer sur F6 pour l'exécuter.

    Résultat : Le fichier délimité est parsé. Les ID, prénoms, noms des informations clients et les noms de colonnes correspondants sont affichés dans la console d'exécution.