tCouchDBOutput - 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 tCouchDBOutput reçoit des données du composant précédent et les écrit dans CouchDB.

Objectif

Le tCouchDBOutput vous permet de charger des documents JSON, d'y écrire ou supprimer des données et de sauvegarder ces documents dans la base de données d'un serveur CouchDB.

Propriétés du tCouchDBOutput

Famille du composant

Big Data / CouchDB

 

Basic settings

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).

 

Sync columns

Cliquez sur ce bouton pour récupérer le schéma du composant précédent dans le Job.

Connection

Use 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 CouchDB que vous utilisez.

 

Server

Nom de l'hôte ou adresse IP du serveur CouchDB.

 

Port

Saisissez le numéro du port d'écoute du serveur CouchDB.

 

Database

Saisissez le nom de la base de données à utiliser.

Authentication

Required authentication

Cochez cette case afin de fournir les informations d'authentification pour CouchDB.

  • Username : Saisissez le nom d'utilisateur de CouchDB.

  • Password : Saisissez le mot de passe pour CouchDB.

    Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles et cliquez sur OK afin de sauvegarder les paramètres.

Replication

Use trigger replication

Cochez cette case pour déclencher la réplication entre les bases de données.

Avertissement

Cette case apparaît uniquement lorsque vous ne cochez pas la case Use an existing connection.

Replicate target database

Target DB name

Spécifiez la base de données cible dans laquelle copier les documents. Vous pouvez saisir le nom d'une base de données locale ou l'URL d'une base de données distante.

 

Continuous

Cochez cette case pour continuer la réplication après le redémarrage du serveur.

 

Create target DB

Cochez cette case pour créer la base de données cible si elle n'existe pas.

 

IS Canceled

Cochez cette case pour annuler la réplication entre la base de données source spécifiée et la base de données cible à la fin du Job.

 

Action on data

Sélectionnez l'opération à effectuer sur les données qui vous intéressent :

  • Insert : Insérer des données dans la base de données.

  • Update : Mettre à jour les données dans la base de données.

  • Upsert : Insérer les données si elles n'existent pas ou mettre à jour les données existantes.

  • Delete : Supprimer les données de la base de données.

JSON Configuration

Generate JSON Document

Cochez cette case pour générer un document JSON et configurer la structure de données que vous souhaitez utiliser.

 

Key

Sélectionnez la clé à utiliser, dans la liste déroulante.

 

Configure JSON Tree

Cliquez sur le bouton [...] pour ouvrir la fenêtre de configuration de l'arborescence JSON. Pour plus d'informations, consultez Configurer une arborescence JSON.

 

Group by

Personnalisez les colonnes d'entrée sur lesquelles vous souhaitez regrouper les données.

 

Remove root node

Cochez cette case pour supprimer le nœud racine.

 

Die on error

Cette case est décochée par défaut, afin d'ignorer les lignes en erreur et de terminer le traitement 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.

Global Variables

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

NB_LINE_INSERTED : nombre de lignes insérées. Cette variable est une variable After et retourne un entier.

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 est utilisé en tant que composant de sortie et nécessite un lien d'entrée.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario : Répliquer des données de la base de données source à la base de données cible

Ce scénario décrit un Job écrivant des informations concernant des livres dans une base de données CouchDB, répliquant les données dans la base de données cible et affichant certaines informations intéressantes répliquées dans la console.

Relier les composants

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tCouchDBConnection, un tFileInputDelimited, un tCouchDBOutput, un tCouchDBInput, un tLogRow et un tCouchDBClose.

  2. Reliez le tFileInputDelimited au tCouchDBOutput à l'aide d'un lien Row > Main.

  3. De la même façon, reliez le tCouchDBInput au tLogRow.

  4. Connectez le tCouchDBConnection au tFileInputDelimited à l'aide d'un lien Trigger > OnSubjobOk.

  5. Répétez l'opération pour relier le tFileInputDelimited au tCouchDBInput et le tCouchDBInput au tCouchDBClose.

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

Configurer les composants

Ouvrir une connexion CouchDB et déclencher la réplication

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

  2. Dans les champs Server et Port, saisissez les informations de connexion.

  3. Dans le champ Database, saisissez le nom de la base de données à utiliser : bookstore_old dans cet exemple.

  4. Sélectionnez la version de CouchDB que vous utilisez, dans la liste DB Version.

  5. Cochez la case Use trigger replication.

  6. Dans la zone Replicate target database, cliquez sur le bouton [+] pour ajouter une ligne pour les paramètres de réplication.

  7. Saisissez le nom de la base de données cible dans la colonne Target DB name : bookstore_new dans cet exemple.

  8. Cochez la case Continous pour continuer la réplication après redémarrage du serveur.

  9. Dans cet exemple, la base de données cible n'existe pas. Cochez la case Create target DB pour créer la base de données cible.

  10. Cochez la case Is Canceled pour annuler la réplication entre bookstore_old et bookstore_new à la fin du Job.

Lire les données d'entrée

  1. Double-cliquez sur le composant tFileInputDelimited pour ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ File name/Stream pour parcourir votre système jusqu'au fichier duquel vous souhaitez lire les données. Dans ce scénario, le fichier est le suivant : D:/Input/bookstore.txt. Il contient six colonnes : _id, title, author, category, ISBN, et abstract.

    _id;title;author;category;ISBN;abstract
    001;Computer Networks: A Systems Approach;Larry L. Peterson, Bruce S. Davie;Computer Science;0123850606;This best-selling and classic book teaches you the key principles of computer networks with examples drawn from the real world of network and protocol design.
    002;David Copperfield;Charles Dickens;Language&Literature;1555763227;This adaptation of the original story is presented in the format of a novel study, complete with exercises and vocabulary lists, and is geared to the language arts classes of grades 4 and 5.
    003;Life of Pi;Yann Martel;Language&Literature;0547350651;The son of a zookeeper, Pi Patel has an encyclopedic knowledge of animal behavior and a fervent love of stories.
    004;Les Miserables: Easyread Comfort Edition;Victor Hugo;Language&Literature;1425048250;Expressing the author's ideas about society, religion and politics, it is in the backdrop of Napoleonic Wars and ensuing years that the story unravels. Grace, moral philosophy, law and history of France are discussed.
    005;Computer Security;Dieter Gollmann;Computer Science;0470741155;This text moves away from the 'multi-level' security approach to compare and evaluate design alternatives in computer security.
    006;Advanced Database Systems;Carlo Zaniolo;Database;155860443X;This book, written by a team of leading specialists in their fields, introduces the research issues at the forefront of database technology and supports them with a variety of examples.
  3. Dans le champ Header, saisissez 1 afin d'ignorer la ligne d'en-tête du fichier.

  4. Cliquez sur Edit schema pour définir les données à passer au composant tCouchDBOutput.

Ecrire des données dans une base de données et les répliquer

  1. Double-cliquez sur le composant tCouchDBOutput pour ouvrir sa vue Component.

  2. Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.

  3. Cochez la case Use an existing connection. Dans cet exemple, la réplication est déclenchée à l'ouverture de la connexion à CouchDB.

  4. Sélectionnez Upsert dans la liste déroulante Action on data.

Extraire les données répliquées qui vous intéressent

  1. Double-cliquez sur le composant tCouchDBInput afin d'ouvrir sa vue Component.

  2. Cliquez sur Edit schema pour définir la structure des données à lire dans la base de données CouchDB.

    Par défaut, la case Include docs est cochée, les colonnes id, key, value et jsonDoc sont disponibles dans le schéma.

    Dans cet exemple, quatre colonnes à extraire sont définies : id, title, author et category.

  3. Renseignez les champs Server et Port en saisissant respectivement le nom de l'hôte ou l'adresse IP du serveur et le numéro du port d'écoute.

  4. Dans le champ Database, saisissez le nom de la base de données de laquelle les données répliquées seront lues. Dans cet exemple, saisissez bookstore_new.

  5. Dans la zone Querying options, saisissez la clé de début dans le champ Start key et la clé de fin dans le champ End key, afin de configurer l'écart des données à lire : "001" et "006" dans cet exemple.

  6. Cochez la case Extract JSON field pour extraire les données souhaitées.

  7. Sélectionnez jsonDoc dans la liste JSON field.

  8. Dans la zone Mapping, cliquez sur le bouton [+] pour ajouter des éléments. Sélectionnez la colonne du schéma de sortie dans la liste puis saisissez la requête XPath.

Afficher les données extraites

  1. Double-cliquez sur le composant tLogRow pour ouvrir sa vue Component.

  2. Cliquez sur Edit schema pour définir la structure des données à afficher dans la console. Dans cet exemple, vous devez supprimer la colonne jsonDoc.

  3. Dans la zone Mode, sélectionnez Table (print values in cells of a table).

Fermer la connexion CouchDB

  1. Double-cliquez sur le composant tCouchDBClose pour ouvrir sa vue Component.

  2. Sélectionnez, dans la liste Component List, la connexion à fermer.

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl+S pour sauvegarder votre Job.

  2. Exécutez le Job en appuyant sur F6 ou en cliquant sur le bouton Run dans la vue Run.