Scénario 1 : Écrire des données dans une base de données Neo4j et lire des données spécifiques de cette base de données - 6.1

Composants Talend Guide de référence

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

Ce scénario simple décrit un Job composé de deux sous-jobs : le premier sous-job lit des données concernant des employés à partir d'un fichier CSV, les écrit dans une base de données Neo4j et déclenche le second sous-job, qui lit les données concernant les employés sous certaines conditions de requête de la base de données Neo4j et les affiche dans la console Run.

Ajouter et relier les composants

  1. Créez un Job et ajoutez les composants suivants au Job en saisissant leur nom dans l'espace de modélisation graphique :

    • un composant tFileInputDelimited, pour lire les données des employés à partir d'un fichier CSV,

    • un composant tNeo4jOutput, pour écrire les données des employés dans une base de données Neo4j,

    • un composant tNeo4jIntput, pour lire les données des employés à partir de la base de données Neo4j sous des conditions définies et

    • un composant tLogRow, pour afficher les données dans la console Run.

  2. Reliez le composant tFileInputDelimited au composant tNeo4jOutput à l'aide d'une connexion de type Row > Main.

  3. Connectez le composant tNeo4jIntput au composant tLogRow à l'aide d'un lien de type Row > Main.

  4. Reliez le composant tFileInputDelimited au composant tNeo4jIntput à l'aide d'une connexion de type Trigger > On Subjob Ok.

  5. Renommez les composants afin de mieux identifier leur rôle au sein du Job.

Configurer les composants

Importer des données dans la base de données Neo4j

  1. Double-cliquez sur le composant tFileInputDelimited afin d'ouvrir sa vue Basic settings.

  2. Dans le champ File name/Stream, spécifiez le chemin d'accès au fichier CSV qui contient les données des employés à lire.

    Le fichier d'entrée CSV utilisé dans cet exemple se présente de la manière suivante :

    employeeID;employeeName;age;hireDate;salary;managerID
    1;Rutherford Roosevelt;38;06-10-2008;13336.58;m5
    2;Warren Adams;43;05-22-2008;11626.68;m6
    3;Andrew Roosevelt;55;04-01-2007;10052.95;m4
    4;Herbert Quincy;54;06-14-2007;10694.71;m6
    5;Woodrow Polk;33;08-14-2007;13751.50;m4
    6;Theodore Johnson;47;01-26-2008;12426.87;m6
    7;Benjamin Adams;32;02-25-2008;10438.65;m4
    8;Woodrow Harrison;51;10-11-2008;11188.27;m5
    9;George Truman;40;04-28-2008;14254.49;m5
    10;Harry Jackson;38;04-01-2008;12798.78;m6
  3. Dans le champ Header, spécifiez le nombre de lignes considérées comme étant des lignes d'en-tête à ignorer. Dans cet exemple, la première ligne du fichier CSV est la ligne d'en-tête.

  4. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la boîte de dialogue [Schema] et définissez le schéma d'entrée selon la structure du fichier d'entrée. Dans cet exemple, le schéma d'entrée est composé de six colonnes : employeeID (Integer), employeeName (String), age (Integer), hireDate (Date), salary (Float), et managerID (String).

    Lorsque vous avez terminé, cliquez sur OK pour fermer la boîte de dialogue [Schema] et propager le schéma au composant suivant.

  5. Cliquez sur le composant tNeo4jOutput et sélectionnez l'onglet Component pour ouvrir sa vue Basic settings.

  6. Définissez une connexion à la base de données Neo4j. Dans cet exemple, la base de données Neo4j est accessible en mode REST. Cochez la case Remote server et spécifiez l'URL du serveur Neo4j dans le champ Server URL : "http://localhost:7474/db/data" dans cet exemple.

  7. Si nécessaire, cliquez sur le bouton Sync columns pour vous assurer que le composant ait le même schéma que le composant précédent.

    Laissez les autres paramètres tels qu'ils sont.

Lire des données de la base de données Neo4j

  1. Double-cliquez sur le composant tNeo4jInput pour ouvrir sa vue Basic settings.

  2. Tout comme pour le composant tNeo4jOutput, spécifiez l'URL du serveur Neo4j auquel se connecter : "http://localhost:7474/db/data" dans cet exemple.

  3. Cliquez sur le bouton [...] à côté du champ Edit schema et définissez le schéma d'affichage des informations sur les employés. Lorsque vous avez terminé, cliquez sur OK pour fermer la boîte de dialogue [Schema] et propager le schéma au composant suivant.

    Les colonnes définies du schéma apparaissent automatiquement dans la table Mapping.

  4. Dans le champ Query, renseignez la requête Cypher de sorte qu'elle corresponde aux données à lire de la base de données Neo4j. Dans cet exemple, utilisez la requête Cypher suivante pour trouver les employés qui ont plus de 40 ans et travaillent sous les ordres du manager m6.

    "MATCH (n) WHERE n.age > 40 AND n.managerID = 'm6' RETURN n;"
  5. Renseignez le champ Return parameter pour chaque colonne du schéma avec un paramètre de retour entre guillemets doubles afin de mapper les propriétés du nœud dans la base de données Neo4j aux colonnes du schéma.

  6. Double-cliquez sur le composant tLogRow afin d'ouvrir sa vue Basic settings et sélectionnez l'option Table (print values in cells of a table) afin d'afficher les informations récupérées sous forme de tableau.

Exécuter le Job

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

  2. Appuyez sur F6 ou cliquez sur le bouton Run dans la vue Run pour exécuter le Job.

    Les données des employés dans le fichier CSV sont écrites dans la base de données Neo4j. Les informations des employés correspondant aux conditions définies sont récupérées de la base de données Neo4j et affichées dans la console.