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

Avertissement

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

Propriétés du tMongoDBBulkLoad

Famille du composant

Big Data / MongoDB

 

Fonction

Le composant tMongoDBBulkLoad lit des données à partir de fichiers CSV, TSV ou JSON et les importe dans la base de données MongoDB spécifiée.

Objectif

Le tMongoDBBulkLoad vous permet d'importer des fichiers de données dans différents formats (CSV, TSV ou JSON) dans la base de données MongoDB spécifiée, afin que les données puissent être traitées.

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.

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, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

MongoDB directory

Saisissez dans ce champ le répertoire d'installation de MongoDB.

 

Use local DB path

Cochez cette case afin de fournir les informations de la base de données locale que vous souhaitez utiliser.

  • Local DB path : saisissez le chemin d'accès à la base de données locale spécifiée lors du démarrage du serveur MongoDB.

 

Use replica set address

Cochez la case pour afficher la table Replica address.

  • Replica set name : spécifiez le nom du Replica set.

  • Replica address : spécifiez les différents serveurs de la base de données MongoDB pour le failover. Si vous ne spécifiez rien dans les champs Replica host ou Replica port vides, leur valeur par défaut, respectivement localhost et 27017 sont utilisées.

 

Server

Adresse IP et port d'écoute du serveur de la base de données. Notez que la valeur par défaut, localhost, est utilisée si le serveur n'est pas spécifié.

Avertissement

Ce champ est disponible uniquement lorsque la case Use replica set address n'est pas cochée.

 

Port

Port d'écoute du serveur de la base de données. Notez que la valeur par défaut, 27017, est utilisée si le port n'est pas spécifié.

Avertissement

Ce champ est disponible uniquement lorsque la case Use replica set address n'est pas cochée.

 

Database

Saisissez le nom de la base de données dans laquelle importer les données.

 

Collection

Saisissez le nom de la collection dans laquelle importer les données.

 

Use SSL connection

Cochez cette case pour activer la connexion cryptée SSL.

Utilisez le composant tSetKeystore dans le même Job afin de spécifier les informations d'authentification.

Pour plus d'informations concernant le tSetKeystore, consultez tSetKeystore.

Notez que la connexion SSL est disponible uniquement à partir de la version 2.4 de MongoDB.

 

Drop collection if exist

Cochez cette case afin de supprimer la collection si elle existe déjà.

 

Required authentication

Cochez cette case pour fournir les informations de connexion lors de l'authentification à MongoDB.

  • Username : saisissez le nom d'utilisateur pour l'authentification à MongoDB.

  • Password : saisissez le mot de passe pour l'authentification à MongoDB.

    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, puis cliquez sur OK afin de sauvegarder les paramètres.

    Si le système de sécurité sélectionné dans la liste Authentication mechanism est Kerberos, saisissez les informations dans les champs suivants User principal, Realm et KDC server et non dans les champs Username et Password.

 

Data file

Saisissez le chemin d'accès complet au fichier duquel importer les données, ou cliquez sur le bouton [...] afin de parcourir votre système jusqu'au fichier de données.

Avertissement

Assurez-vous que le fichier de données est bien dans un format standard. Par exemple, les champs des fichiers CSV doivent être séparés par une virgule.

 

File type

Sélectionnez le type de fichier dans la liste. Les formats CSV, TSV et JSON sont supportés.

 

The JSON file starts with an array

Cochez cette case pour permettre au tMongoDBBulkload de lire les fichiers JSON commençant par un tableau.

Cette case est disponible lorsque vous avez sélectionné JSON dans la liste File type.

 

Action on data

Sélectionnez l'action à effectuer sur les données.

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

    Avertissement

    Lorsque vous insérez des données depuis des fichiers CSV ou TSV dans la base de données MongoDB, vous devez spécifier les champs, en cochant la case First line is header ou en les définissant dans le schéma.

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

    Avertissement

    Lors d'une opération d'upsert de données dans la base de données MongoDB, vous devez spécifier une liste de champs, pour la partie requête de l'opération.

 

Upsert fields

Personnalisez les champs sur lesquels effectuer un upsert.

Avertissement

Cette table est disponible lorsque vous sélectionnez Upsert dans la liste Action on data.

 

First line is header

Cochez cette case pour utiliser la première ligne d'un fichier CSV ou TSV en tant qu'en-tête.

Avertissement

Cette case est disponible uniquement lorsque vous sélectionnez CSV ou TSV dans la liste File type.

 

Ignore blanks

Cochez cette case pour ignorer les champs vides dans les fichiers CSV ou TSV.

Avertissement

Cette case est disponible uniquement lorsque vous sélectionnez CSV ou TSV dans la liste File type.

 

Print log

Cochez cette case pour afficher les logs.

Advanced settings

Additional arguments

Renseignez cette table afin d'utiliser des arguments supplémentaires selon vos besoins.

Par exemple, vous pouvez utiliser l'argument "--jsonArray" pour accepter l'import de données de différents documents MongoDB dans un seul tableau JSON. Pour plus d'informations concernant les arguments supplémentaires, consultez le site http://docs.mongodb.org/manual/reference/program/mongoimport/ (en anglais) et lisez la description des options.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau des composants.

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.

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 généralement utilisé avec un tMongoDBInput afin de vérifier si les données sont bien importées.

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

Limitation

L'outil client MongoDB doit être installé sur la machine où les Jobs contenant ce composant sont exécutés.

Scénario : Importer des données dans la base de données MongoDB

Le scénario suivant présente un Job qui importe des données d'un fichier CSV dans la collection spécifiée de MongoDB, puis lit les données de la collection MongoDB, afin de vérifier la réussite de l'import. Il continue à importer les données d'un fichier JSON ayant la même structure de données dans la même collection, puis affiche les données de la collection MongoDB afin de démontrer que les données du fichier JSON ont également été importées avec succès.

Construire le Job

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : deux tMongoDBBulkLoad, deux tMongoDBInput et deux tLogRow.

  2. Reliez le premier tMongoDBBulkLoad au premier tMongoDBInput à l'aide d'un lien Trigger > OnSubjobOk.

  3. Reliez le premier tMongoDBInput au premier tLogRow à l'aide d'un lien Row > Main.

  4. Répétez les deux étapes précédentes afin de connecter le second tMongoDBBulkLoad au second tMongoDBInput et le second tMongoDBInput au second tLogRow.

  5. Reliez le premier tMongoDBInput au second tMongoDBBulkLoad à l'aide d'un lien Trigger > OnSubjobOk.

  6. Renommez les deux composants tLogRow afin de mieux identifier les données affichées dans la console.

Configurer les composants

Importer des données d'un fichier CSV

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

  2. Dans la liste DB Version, sélectionnez la version de MongoDB que vous utilisez.

  3. Dans les champs Server et Port, saisissez respectivement les informations relatives au serveur et au port, afin de vous connecter à MongoDB. Dans cet exemple, saisissez localhost et 27017.

  4. Dans le champ Database, saisissez le nom de la base de données dans laquelle importer les données, bookstore dans cet exemple.

    Dans le champ Collection, saisissez la collection dans laquelle importer des données, books dans cet exemple.

  5. Cochez la case Drop collection if exist afin de supprimer la collection spécifiée si elle existe déjà.

  6. Parcourez votre système jusqu'au fichier de données duquel vous souhaitez importer les données. Dans cet exemple, D:/Input/books.csv pointe vers un fichier CSV standard contenant quatre colonnes : id, title, author et category.

    id,title,author,category
    1,Computer Networks,Larry Peterson,Computer Science
    2,David Copperfield,Charles Dickens,Language&Literature
    3,Life of Pi,Yann Martel,Language&Literature
    
  7. Sélectionnez CSV dans la liste File type.

  8. Sélectionnez Insert dans la liste Action on data.

  9. Cochez la case First line is header pour utiliser la première ligne du fichier CSV comme en-tête.

    Cochez la case Ignore blanks pour ignorer les champs vides (s'il y en a) dans le fichier CSV.

Vérifier que le fichier CSV est bien importé

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

  2. Dans les champs Server et Port, saisissez les informations requises de connexion à MongoDB. Dans cet exemple, saisissez localhost et 27017, respectivement.

  3. Dans le champ Database, saisissez le nom de la base de données à lire, bookstore dans cet exemple.

  4. Dans le champ Collection, saisissez la collection à partir de laquelle lire les données, books dans cet exemple.

  5. Cliquez sur Edit schema pour définir la structure du schéma à lire de la collection MongoDB.

  6. Dans la table Mapping, le champ Column est automatiquement renseigné avec le schéma défini. Ici, la colonne Parent node path ne doit pas nécessairement être remplie.

  7. Double-cliquez sur le premier tLogRow pour ouvrir sa vue Basic settings.

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

Importer des données d'un fichier JSON

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

  2. Dans le champ MongoDB directory, saisissez le répertoire d'installation de MongoDB. Dans cet exemple, saisissez D:/MongoDB.

  3. Dans les champs Server et Port, saisissez les informations requises pour la connexion à MongoDB. Dans cet exemple, saisissez respectivement localhost et 27017.

  4. Dans le champ Database, saisissez le nom de la base de données dans laquelle importer des données, bookstore dans cet exemple.

    Dans le champ Collection, saisissez la collection cible dans laquelle importer des données, books dans cet exemple.

  5. Parcourez votre système jusqu'au fichier duquel importer les données. Ici, sélectionnez books.json.

    {
            "id": "4",
            "title": "Les Miserables",
            "author": "Victor Hugo",
            "category": "Language&Literature"
    }
    {
            "id": "5",
            "title": "Advanced Database Systems",
            "author": "Carlo Zaniolo",
            "category": "Database"
    
    }
  6. Sélectionnez JSON dans la liste File type.

  7. Sélectionnez Insert dans la liste Action on data.

  8. Cliquez sur l'onglet Advanced settings pour définir les arguments supplémentaires selon vos besoins.

    Dans cet exemple, ajoutez l'argument " --jsonArray" pour importer les données sous forme de tableau JSON.

Vérifier que le fichier JSON a bien été importé

  1. Répétez les étapes 1 à 7 décrites dans la procédure Vérifier que le fichier CSV est bien importé afin de configurer le second tMongoDBInput.

  2. Répétez les étapes 8 et 9 décrites dans la procédure Vérifier que le fichier CSV est bien importé afin de configurer le second tLogRow.

Sauvegarder et exécuter le Job

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

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

    Les données de la collection books dans la base de données MongoDB bookstore sont affichées dans le console et contiennent les données importées du fichier CSV books.csv et du fichier JSON books.json.