Accéder au contenu principal Passer au contenu complémentaire

Concevoir un Job pour implémenter le scénario

Le scénario comprend les étapes suivantes :
  • Création du Job, configuration des paramètres et lecture du fichier d'entrée.
  • Mapping et transformations de données.
  • Définition des paramètres du fichier de référence, mapping correspondant à l'aide du composant tMap et sélection du mode Inner Join.
  • Redirection des données en sortie dans une table MySQL

Étape 1 : Création du Job, définition des données d'entrée, lecture du fichier

Procedure

  1. Après avoir lancé le Studio Talend, créez un projet en local ou importez un projet démo si vous lancez le Studio Talend pour la première fois.
  2. Pour créer le Job, cliquez-droit sur Job Designs dans le Repository et sélectionnez Create Job.
  3. Dans la boîte de dialogue qui s'ouvre, seul le premier champ (Name) est requis. Saisissez California1 et cliquez sur Finish.

    Un Job vide s'ouvre ensuite dans la fenêtre principale et la Palette de composants techniques apparaît (par défaut, à droite du Studio Talend) affichant une dizaine de familles de composants, notamment : Databases, Files, Internet, Data Quality, des centaines de composants sont disponibles.

  4. Un composant tFileInputDelimited est utilisé pour lire le fichier California_Clients. Ce composant se trouve dans la famille File > Input de la Palette. Cliquez sur ce composant et placez-le à la gauche de l'espace de modélisation.
  5. Configurez les propriétés de lecture du composant tFileInputDelimited (comme le chemin d'accès au fichier, le séparateur de colonnes ou encore l'encodage) à l'aide du Metadata Manager.
    Cet outil offre de nombreux assistants pour la configuration des paramètres. Il stocke également ces propriétés pour une utilisation ultérieure en un clic dans de futurs Jobs.
  6. Puisque votre fichier d'entrée est un fichier plat délimité, sélectionnez File Delimited dans la liste du dossier Metadata de la vue Repository. Sélectionnez l'option Create file delimited.

    L'assistant spécifique aux fichiers délimités s'ouvre.

    • Dans l'étape 1, seul le champ Name est requis : saisissez le nom California_clients et passez à l'étape suivante.

    • À l'étape 2, sélectionnez le fichier d'entrée (California_Clients.csv) en cliquant sur le bouton Browse.... Un extrait du fichier apparaît immédiatement dans la zone File viewer en bas de l'assistant, afin que vous puissiez en vérifier le contenu. Cliquez sur Next (Suivant).

      Dans cet exemple, le fichier California_Clients.csv est stocké dans C:/talend/Input.

    • À l'étape 3, définissez les paramètres de fichier : encodage des fichiers, délimitations de lignes et de colonnes, entre autres. Puisque le fichier d'entrée est standard, vous pouvez garder la plupart des valeurs par défaut. La première ligne de votre fichier est un en-tête contenant les noms des colonnes. Pour récupérer automatiquement ces noms, cochez la case Set heading row as column names et cliquez sur Refresh Preview, puis sur Next.

    • À l'étape 4, définissez chaque colonne de votre fichier. L'assistant intègre des algorithmes qui essayent de deviner le type et la longueur des données contenues dans les colonnes du fichier en analysant les premières lignes. La description des données (appelé schéma dans le Studio Talend) peut être modifiée à tout moment. Dans ce scénario, les données peuvent être utilisées sans modification.

    La métadonnée California_clients est créée après les quatre étapes ci-dessus.

  7. Sélectionnez le composant tFileInputDelimited que vous avez déposé dans l'espace de modélisation graphique et sélectionnez la vue Component au bas de la fenêtre.
  8. Sélectionnez l'onglet vertical Basic settings. Dans cet onglet, vous trouverez toutes les propriétés techniques nécessaires au composant.
  9. Sélectionnez Repository dans la liste déroulante Property type. Un champ Repository s'affiche. Cliquez sur le bouton [...] et sélectionnez la métadonnée correspondante dans la liste : California_clients.

    Tous les paramètres du tFileInputDelimited sont automatiquement renseignés.

    Capture d'écran des paramètres simples du composant.
  10. Ajoutez un composant tLogRow (de la famille Logs & Errors). Pour lier ces deux composants, cliquez-droit sur le composant d'entrée et sélectionnez Row > Main. Puis cliquez sur le composant de sortie tLogRow.
  11. Sélectionnez l'onglet Run dans le panneau inférieur.
  12. Activez les statistiques en cochant la case Statistics dans l'onglet Advanced settings de la vue Run, puis exécutez le Job en cliquant sur le bouton Run, dans l'onglet Basic Run.
    Capture d'écran de la console après l'exécution réussie du Job.

    Le contenu du fichier d'entrée est affiché dans la console.

Étape 2 : Mapping et transformations

Cette étape transforme les données du fichier d'entrée à l'aide d'un composant tMap.

Le composant tMap peut gérer :

  • entrées et sorties multiples,
  • recherches de référence (simple, produit cartésien, première et dernière correspondance, etc.),
  • jointures (inner join, outer join),
  • transformations,
  • rejets,
  • etc.

Procedure

  1. Supprimez le lien entre les deux composants en cliquant-droit sur le lien et en sélectionnant l'option Delete (Supprimer). Placez ensuite le tMap de la famille Processing entre les deux autres composants et reliez le composant d'entrée au tMap.
  2. Reliez le tFileInputDelimited au tMap à l'aide d'un lien Row > Main.
  3. Cliquez-droit sur le composant tMap, sélectionnez Row > *New Output* (Main) et cliquez sur le composant tLogRow. Saisissez out1 dans la boîte de dialogue.
    Logiquement, une boîte de dialogue apparaît (pour la rétro-propagation des schémas), ignorez-la en cliquant sur No.
  4. Double-cliquez sur le tMap pour accéder à son interface.
    La partie gauche affiche le schéma (description) du fichier d'entrée (row1). La partie droite affiche le schéma de sortie (out1).
  5. Déposez les colonnes FirstName et LastName de la gauche vers la droite dans la colonne Name, comme le montre la capture d'écran suivante. Puis déposez les autres colonnes Address et City dans leur ligne respective.
    Résultat du mapping des colonnes.
  6. Effectuez les transformations suivantes sur chaque colonne :
    • Changez les données de la colonne Name de la manière suivante : row1.Firstname + " " + row1.LastName. Cela permet de concaténer la colonne Firstname et la colonne Lastname.
    • Modifiez l'Expression de la colonne Address en row1.Address.toUpperCase(), ce qui modifie la casse de l'adresse en majuscules.
  7. Supprimez la colonne LastName de la table out1out1, et augmentez la longueur des colonnes restantes. Pour cela, cliquez sur l'onglet Schema Editor situé en bas de l'éditeur du Map Editor et procédez comme suit :
    Capture d'écran de l'éditeur de schéma (Schema Editor).
    1. Sélectionnez la colonne à supprimer du schéma et cliquez sur l'icône représentant une croix rouge.

    2. Sélectionnez la colonne dont vous souhaitez augmenter la longueur.

    3. Saisissez la longueur que vous voulez dans la colonne Length. Dans cet exemple, modifiez la longueur de chaque colonne restante en 40.

    Note InformationsNote: Comme les noms et prénoms des clients sont concaténés, il est nécessaire d'augmenter la longueur de les colonne nom, afin de prendre en compte la longueur complète du nom. Aucune transformation n'est effectuée sur la colonne City.
  8. Cliquez sur OK pour valider les modifications et fermer l'éditeur.
  9. Exécutez votre Job.
    Capture d'écran de la console après l'exécution réussie du Job.

Results

Les adresses ont été mises en majuscules et les prénoms et noms ont été regroupés dans une seule colonne.

Étape 3 : définition du fichier de référence, mapping des données de référence, sélection du mode Inner Join

Procedure

  1. Définissez les métadonnées correspondant au fichier LosAngelesandOrangeCounties.txt de la manière décrite dans l'Étape 6 de Étape 1 : Création du Job, définition des données d'entrée, lecture du fichier à l'aide de l'assistant.

    À l'étape 1 de l'assistant, nommez cette entrée de métadonnée LA_Orange_cities.

  2. Déposez cette nouvelle métadonnée en haut de l'espace de modélisation, cela créera automatiquement un composant de lecture pointant vers cette métadonnée.
  3. Reliez ce composant au tMap.
    Capture d'écran du Job dans l'espace de modélisation graphique.
  4. Double-cliquez de nouveau sur le composant tMap pour ouvrir son interface. Notez que la table de référence (row2) correspondant au fichier LosAngelesandOrangeCounties s'affiche à gauche de la fenêtre dans la zone Input d'entrée, juste en dessous du flux d'entrée principal (row1).
  5. Définissez la jointure entre le flux principal et le flux de référence.

    Déposez la colonne City de la première table d'entrée vers la colonne City de la table de référence pour établir une jointure entre les deux fichiers. Un lien violet apparaît pour matérialiser cette jointure.

    Capture d'écran de la jointure créée dans l'interface du tMap.
  6. Déposez la colonne County de la section de droite (row2) sur le champ Expression de la colonne County de la section de droite (out1).
    Capture d'écran des mappings.
  7. Cliquez sur le bouton OK pour valider les modifications et exécutez ce nouveau Job.

    La sortie suivante s'affichera dans la console :

    Capture d'écran de la console après l'exécution réussie du Job.

    Les dernières colonnes de certains enregistrements contiennent Los Angeles et Orange, tandis que les autres sont vides. Ceci est dû au fait que par défaut le tMap établit une jointure Left Outer Join. Si vous souhaitez appliquer un filtre permettant de n'afficher que les données pour lesquelles une correspondance a été trouvée par le tMap, ouvrez le tMap cliquez sur le bouton tMap settings et sélectionnez Inner Join dans la liste Join Model sur la table de référence (row2).

Étape 4 : Sortie vers une table MySQL

Cette section dirige le flux de sortie vers une table MySQL.

Procedure

  1. Créez une métadonnée décrivant la connexion à la base de données MySQL. Développez les nœuds Metadata > MySQL de la vue Repository et double-cliquez sur DemoMySQL (si vous avez bien importé le projet Démo) pour ouvrir l'assistant de métadonnées.
  2. À l'étape 2 de l'assistant, renseignez les paramètres de connexion à la base de données. Vérifiez la validité de cette connexion en cliquant sur le bouton Check. Enfin, validez vos modifications en cliquant sur Finish.
  3. Déposez cette métadonnée à droite de l'espace de modélisation en maintenant la touche Ctrl enfoncée pour créer automatiquement un composant tMysqlOutput.
  4. Supprimez le composant tLogRow de votre Job.
  5. Reconnectez le flux de sortie out1 du tMap vers le composant tMysqlOutput.
    Capture d'écran du Job dans l'espace de modélisation graphique.
  6. Dans l'onglet Basic settings du composant tMysqlOutput :
    1. Saisissez LA_Orange_clients dans le champ Table pour nommer votre table cible qui va être créée à la volée.
    2. Sélectionnez l'option Drop table if exists and create dans le champ Action on table.
    3. Cliquez sur Edit Schema et sur le bouton Reset DB type (le bouton en forme de base de données dans la barre d'outils) pour renseigner automatiquement le type de base de données, si nécessaire.
  7. Exécutez à nouveau le Job.

Results

La table cible devrait être automatiquement créée et alimentée avec des données.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.