tNeo4jRow - 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

Avertissement

Ce composant est disponible dans la Palette du Studio Talend si vous avez souscrit à l'une des solutions Big Data de Talend.

Fonction

Le composant tNeo4jRow est le composant spécifique pour les requêtes, pour cette base de données. Il permet d'exécuter les requêtes Cypher sur la base de données spécifiée. Le suffixe Row signifie que le composant met en place un flux dans le Job bien que ce composant ne produise pas de données en sortie.

Objectif

Selon la nature de la requête, le tNeo4jRow agit sur la structure même de la base de données ou sur les données (mais sans les manipuler).

Propriétés du tNeo4jRow

Famille du composant

Big Data / Neo4j

 

Basic settings

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

DB version

Sélectionnez la version de Neo4j que vous utilisez, Neo4J 1.X.X ou Neo4J 2.X.X.

Notez que la version 2.X.X de Neo4j est compatible uniquement avec la version 7 ou supérieure de Java mais supporte les fonctionnalités avancées, comme les libellés des nœuds.

Cette liste n'est pas affichée lorsque la case Use an existing connection est cochée.

Après avoir sélectionné la version de la base de données, il vous est demandé d'installer les fichiers Jar contenant les pilotes correspondant à la base de données. Pour plus d'informations concernant l'installation de modules tiers, consultez le Guide d'installation Talend.

 

Remote server

Cochez cette case si vous utilisez un serveur REST Neo4j et spécifiez l'URL racine dans le champ Server URL.

  • Set username : cette case est disponible lorsque vous avez coché la case Use a remote server et que la version de Neo4j que vous utilisez est antérieure à 2.2. Si le serveur Neo4j distant auquel vous souhaitez vous connecter ne nécessite pas l'utilisation d'un identifiant et d'un mot de passe, laissez la case décochée.

  • Username et Password : saisissez les informations d'authentification pour vous connecter au serveur Neo4j distant à utiliser. Depuis la version 2.2 de Neo4j, l'identifiant et le mot de passe sont toujours requis.

Cette case apparaît uniquement si la case Use an existing connection n'est pas cochée.

 

Database path

Si vous utilisez Neo4j en mode embarqué, spécifiez le répertoire qui contiendra vos fichiers de données. Le répertoire spécifié sera créé s'il n'existe pas déjà.

Cette case apparaît uniquement si la case Use an existing connection ou la case Remote Server n'est pas cochée.

 

Shutdown after job (Only embedded database)

Cochez cette case si vous souhaitez arrêter la connexion à la base de données Neo4j à la fin du Job.

Cette case est disponible uniquement lorsque la case Use an existing connection est cochée.

 

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

  

Built-In : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur du Studio Talend.

  

Repository : Le schéma existe déjà et il est stocké dans le Repository. Ainsi, il peut être réutilisé. Voir également le Guide utilisateur du Studio Talend.

Lorsque le schéma à réutiliser contient des valeurs par défaut, qui sont des entiers (integer) ou des fonctions (function), assurez-vous que les valeurs par défaut ne sont pas entourées de guillemets. Si c'est le cas, vous devez supprimer manuellement les guillemets.

Pour plus d'informations, consultez l'article Vérification des valeurs par défaut dans un schéma récupéré sur Talend Help Center (https://help.talend.com).

 

Query

Saisissez votre requête Cypher entre guillemets doubles. Si vous avez des paramètres correspondant aux colonnes du schéma d'entrée, déclarez-les entre accolades ({}) et mappez-les dans la table Parameters.

 

Parameters

Cliquez sur le bouton [+] pour ajouter des paramètres correspondant à votre requête Cypher et mappez-les avec les colonnes du schéma d'entrée.

  • Parameter name : Saisissez le nom de votre paramètre entre guillemets doubles.

  • Parameter value : Sélectionnez la colonne de schéma avec laquelle vous souhaitez mapper votre paramètre.

 

Die on error

Cette case est cochée par défaut. Décochez-la pour ignorer les lignes en erreur et terminer le processus avec les lignes sans erreur.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du Job ainsi qu'au niveau de chaque composant.

 

Commit every

Saisissez le nombre de lignes à compléter avant de commiter les lots de nœuds dans la base de données. Cette options assure la qualité de la transaction (mais pas le rollback) et permet une meilleure performance lors de l'exécution.

Avertissement

Cette option est supportée uniquement par le mode embarqué de la base de données. Vous ne pouvez pas effectuer de transactions en mode REST.

Global Variables

NB_NODE_INSERTED : nombre de nœuds insérés. Cette variable est une variable After et retourne un long.

NB_RELATIONSHIP_INSERTED : nombre de relations insérées. Cette variable est une variable After et retourne un long.

NB_PROPERTY_UPDATED : nombre de propriétés mises à jour. Cette variable est une variable After et retourne un long.

NB_NODE_DELETED : nombre de nœuds supprimés. Cette variable est une variable After et retourne un long.

NB_RELATIONSHIP_DELETED : nombre de relations supprimées. Cette variable est une variable After et retourne un long.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant peut être utilisé en standalone ou tant que composant de sortie dans un Job.

Scénario 1 : Créer des nœuds avec un libellé à l'aide d'une requête Cypher

Ce scénario décrit un Job qui, à l'aide d'une requête Cypher, crée des nœuds avec un libellé dans une base de données Neo4j embarquée, puis affiche quelques propriétés du nœud défini dans la console.

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 ou en les déposant de la Palette :

    • un composant tNeo4jConnection, pour ouvrir une connexion à une base de données Neo4j,

    • un composant tNeo4jRow, pour créer des nœuds dans la base de données Neo4j à l'aide d'une requête Cypher,

    • un composant tNeo4jIntput, pour lire les propriétés définies des nœuds créés,

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

    • un composant tNeo4jClose, pour fermer la connexion à la base de données Neo4j établie par le composant tNeo4jConnection.

  2. Reliez le composant tNeo4jConnection au composant tNeo4jRow à l'aide d'une connexion de type Trigger > On Subjob Ok.

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

  4. Reliez le composant tNeo4jIntput au composant tLogRow à l'aide d'une connexion de type Row > Main.

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

Configurer les composants

Configurer une connexion à une base de données Neo4j et la création de nœuds

  1. Double-cliquez sur le composant tNeo4jConnection pour ouvrir sa vue Basic settings dans la vue Component.

  2. Dans la liste DB Version, sélectionnez Neo4J 2.X.X pour activer le support des libellés des nœuds.

  3. Dans le champ Database path, spécifiez le répertoire pour vos fichiers de données, "E:/Talend/DB/Neo4j/data" dans cet exemple.

    Dans cet exemple, utilisez Neo4j en mode embarqué. Pour vous connecter à un serveur Neo4j distant via REST, cochez la case Use a remote server et spécifiez l'URL du serveur Neo4j.

  4. Double-cliquez sur le composant tNeo4jRow pour ouvrir sa vue Basic settings dans la vue Component.

  5. Cochez la case Use an existing connection pour réutiliser la connexion à la base de données Neo4j ouverte par le composant tNeo4jConnection, qui est le seul composant de connexion utilisé dans cet exemple.

  6. Dans le champ Query, renseignez la requête Cypher que le composant doit exécuter.

    Dans cet exemple, saisissez la requête suivante pour créer deux nœuds avec pour libellé Managers et trois propriétés - id, name et position :

    "CREATE (a:Managers { id: 1, name: 'Gerald White', position: 'HR directory'})
    CREATE (b:Managers { id: 2, name: 'Jimmy Black', position: 'Sales manager'})"

    Étant donné que ce composant n'a pas de flux d'entrée, laissez le schéma et les paramètres vides.

Configurer la récupération et l'affichage des données

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

  2. Cochez la case Use an existing connection pour réutiliser la connexion ouverte par le composant tNeo4jConnection.

  3. Cliquez sur le bouton [...] à côté de Edit schema et définissez le schéma correspondant aux propriétés du nœud que vous souhaitez récupérer et afficher. Dans cet exemple, le schéma est composé de deux colonnes, name et position, toutes les deux de type String.

    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, saisissez 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 le nom et la position du manager dont l'ID est 2.

    "MATCH (ee:Managers{id:2}) RETURN ee.name, ee.position;"

    ou

    "MATCH (ee:Managers) WHERE ee.id = 2 RETURN ee.name, ee.position;"
  5. Renseignez le champ Return parameter pour chaque colonne de 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 avec les 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) pour afficher les informations récupérées dans la table.

Exécuter le Job

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

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

    Deux nœuds sont créés dans la base de données Neo4j d'après votre requête Cypher et les fichiers de données sont écrits dans le répertoire spécifié. En outre, les informations définies sont récupérées et affichées dans la console.

Scénario 2 : Importer des données dans une base de données Neo4j à partir d'un fichier CSV à l'aide d'une requête Cypher

Ce scénario décrit un Job qui importe des données concernant des employés dans une base de données Neo4j à partir d'un fichier CSV, à l'aide d'une requête Cypher, puis affiche les informations dans la console.

Ajouter et lier les composants

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

    • un composant tNeo4jConnection, pour ouvrir une connexion à une base de données Neo4j,

    • un composant tFileInputDelimited, pour lire les données source d'un fichier CSV,

    • un composant tNeo4jRow, pour écrire les données des employés dans la base de données Neo4j à l'aide d'une requête Cypher,

    • un composant tNeo4jIntput, pour lire les données des employés de la base de données Neo4j,

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

    • un composant tNeo4jClose, pour fermer la connexion à la base de données Neo4j ouverte par le composant tNeo4jConnection.

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

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

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

  5. Reliez le composant tNeo4jIntput au composant tLogRow à l'aide d'une connexion de type Row > Main.

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

  7. Nommez les composants afin de mieux identifier leur rôle dans le Job.

Configurer les composants

Configurer une connexion à une base de données Neo4j

  1. Double-cliquez sur le composant tNeo4jConnection pour ouvrir sa vue Basic settings dans la vue Component.

  2. Dans la liste DB Version, sélectionnez Neo4J 2.X.X.

  3. Cochez la case Use a remote server et spécifiez l'URL du serveur Neo4j dans le champ Server URL, "http://localhost:7474/db/data" dans cet exemple.

    Dans cet exemple, vous utilisez Neo4j en mode REST. Pour vous connecter à un serveur Neo4j distant en mode embarqué, décochez la case Use a remote server et spécifiez le répertoire des données Neo4j dans le champ Database path.

Configurer l'import de données

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