August 17, 2023

tMongoDBBulkLoad – Docs for ESB 5.x

tMongoDBBulkLoad

tmongodbbulkload_icon32_white.png

Warning

This component will be available in the Palette of
Talend Studio on the condition that you have subscribed to one of
the Talend
solutions with Big Data.

tMongoDBBulkLoad properties

Component family

Big Data / MongoDB

 

Function

tMongoDBBulkLoad reads data from
CSV, TSV or JSON files and imports them into the specified MongoDB
database.

Purpose

tMongoDBBulkLoad allows you to
import data files in different formats (CSV, TSV or JSON) into the
specified MongoDB database so that the data can be further
processed.

Basic settings

Schema and Edit schema

A schema is a row description. It defines the number of fields to be processed and passed on
to the next component. The schema is either Built-In or
stored remotely in the Repository.

Click Edit schema to make changes to the schema. If the
current schema is of the Repository type, three options are
available:

  • View schema: choose this option to view the
    schema only.

  • Change to built-in property: choose this option
    to change the schema to Built-in for local
    changes.

  • Update repository connection: choose this option to change
    the schema stored in the repository and decide whether to propagate the changes to
    all the Jobs upon completion. If you just want to propagate the changes to the
    current Job, you can select No upon completion and
    choose this schema metadata again in the [Repository
    Content]
    window.

 

MongoDB directory

Fill in this field with the MongoDB home directory.

 

Use local DB path

Select this check box to provide the information of the local
database that you want to use.

  • Local DB path: type in
    the path to the local database specified when starting the
    MongoDB server.

 

Use replica set address

Select this check box to define a replica set to be
connected.

  • Replica set name: specify
    the name of the replica set.

  • Replica address: specify
    multiple MongoDB database servers for failover as needed.
    Note that if you leave the replica host or replica port
    unspecified, their default values localhost and 27017 will be used.

 

Server

Hostname or IP address of the database server. Note that the
default value localhost will be
used if the server is not specified.

Warning

This field is available only when the Use replica set address check box is not
selected.

 

Port

Listening port of the database server. Note that the default value
27017 will be used if the
port is not specified.

Warning

This field is available only when the Use replica set address check box is not
selected.

 

Database

Type in the name of the database to import data to.

 

Collection

Type in the name of the collection to import data to.

 

Use SSL connection

Select this check box to enable the SSL encrypted connection.

Then you need to use the tSetKeystore component in the
same Job to specify the authentication information.

For further information about tSetKeystore, see tSetKeystore.

Note that the SSL connection is available only for the version 2.4 + of MongoDB.

 

Drop collection if exist

Select this check box to remove the collection if it already
exists.

 

Required authentication

Select this check box to provide credentials for MongoDB
authentication.

  • Username: type in the
    username for MongoDB authentication.

  • Password: type in the
    password for MongoDB authentication.

To enter the password, click the […] button next to the
password field, and then in the pop-up dialog box enter the password between double quotes
and click OK to save the settings.

 

Data file

Type in the full path of the file from which the data will be
imported or click the […] button
to browse to the desired data file.

Warning

Make sure that the data file is in standard format. For
example, the fields in CSV files should be separated with
commas.

 

File type

Select the proper file type from the list. CSV, TSV and JSON are
supported.

 

The JSON file starts with an
array

Select this check box to allow tMongoDBBulkload to read the JSON files starting
with an array.

This check box appears when the File
type
you have selected is JSON.

 

Action on data

Select the action that you want to perform on the data.

  • Insert: Insert the data
    into the database.

    Warning

    When inserting data from CSV or TSV files into the
    MongoDB database, you need to specify fields either
    by selecting the First line is
    header
    check box or defining them in
    the schema.

  • Upsert: Insert the data
    if they do not exist or update the existing data.

    Warning

    When upserting data into the MongoDB database, you
    need to specify a list of fields for the query portion
    of the upsert operation.

 

Upsert fields

Customize the fields that you want to upsert as needed.

Warning

This table is available when you select Upsert from the Action on
data
list.

 

First line is header

Select this check box to use the first line in CSV or TSV files as
a header.

Warning

This check box is available only when you select CSV or TSV
from the File type list.

 

Ignore blanks

Select this check box to ignore the empty fields in CSV or TSV
files.

Warning

This check box is available only when you select CSV or TSV
from the File type list.

 

Print log

Select this check box to print logs.

Advanced settings

Additional arguments

Complete this table to use the additional arguments as required.

For example, you can use the argument “–jsonArray” to accept the
import of data expressed with multiple MongoDB documents within a
single JSON array. For more information about the additional
arguments, go to http://docs.mongodb.org/manual/reference/program/mongoimport/
and read the description of options.

 

tStatCatcher Statistics

Select this check box to collect the log data at a component
level.

Global Variables

NB_LINE: the number of rows read by an input component or
transferred to an output component. This is an After variable and it returns an
integer.

ERROR_MESSAGE: the error message generated by the
component when an error occurs. This is an After variable and it returns a string. This
variable functions only if the Die on error check box is
cleared, if the component has this check box.

A Flow variable functions during the execution of a component while an After variable
functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl +
Space
to access the variable list and choose the variable to use from it.

For further information about variables, see Talend Studio
User Guide.

Usage

This component can be used together with the tMongoDBInput component to check if the data is
imported as expected.

Log4j

The activity of this component can be logged using the log4j feature. For more information on this feature, see Talend Studio User
Guide
.

For more information on the log4j logging levels, see the Apache documentation at http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html.

Limitation

The MongoDB client tool needs to be installed on the machine where
Jobs using this component are executed.

Scenario: Importing data into MongoDB database

The following scenario describes a Job that firstly imports data from a CSV file into
the specified MongoDB collection, then reads data from the MongoDB collection to check
if the import is successful, next continues to import data from a JSON file with the
same data structure into the same MongoDB collection, and finally displays the data from
the MongoDB collection to demonstrate that the data from the JSON file is also imported
successfully.

components-use_case_tmongodbbulkload_1.png

Dropping and linking the components

  1. Drop the following components from the Palette onto the design workspace: two tMongoDBBulkLoad components, two tMongoDBInput components, and two tLogRow components.

  2. Connect the first tMongoDBBulkLoad to the
    first tMongoDBInput using a Trigger > OnSubjobOk link.

  3. Connect the first tMongoDBInput to the
    first tLogRow using a Row > Main link.

  4. Repeat the two steps above to connect the second tMongoDBBulkLoad to the second tMongoDBInput, and the second tMongoDBInput to the second tLogRow.

  5. Connect the first tMongoDBInput to the
    second tMongoDBBulkLoad using a Trigger > OnSubjobOk link.

  6. Label the two tLogRow components to
    better identify the data displayed on the console.

Configuring the components

Importing data from a CSV file

  1. Double-click the first tMongoDBBulkLoad
    component to open its Basic settings view
    in the Component tab.

    components-use_case_tmongodbbulkload_2.png
  2. In the MongoDB directory field, type in
    the MongoDB home directory. In this example, it is D:/MongoDB.

  3. In the Server and Port fields, fill in the information required for the
    connection to MongoDB. In this example, type in localhost and 27017.

  4. In the Database field, type in the
    database to import data to, bookstore in
    this example.

    In the Collection field, type in the
    collection to import data to, books in
    this example.

  5. Select the Drop collection if exist check
    box to remove the specified collection if it already exists.

  6. Browse to the desired data file from which you want to import data. In
    this example, it is D:/Input/books.csv,
    which is a standard CSV file containing four columns: id, title,
    author, and category.

  7. Select CSV from the File type list.

  8. Select Insert from the Action on data list.

  9. Select the First line is header check box
    to use the first line in the CSV file as a header.

    Select the Ignore blanks check box to
    ignore the blank fields (if any) in the CSV file.

Validating that the CSV file is imported successfully

  1. Double-click the first tMongoDBInput
    component to open its Basic settings view
    in the Component tab.

    components-use_case_tmongodbbulkload_3.png
  2. From the DB Version list, select the
    MongoDB version you are using.

  3. In the Server and Port fields, fill in the information required for the
    connection to MongoDB. In this example, type in localhost and 27017.

  4. In the Database field, type in the
    database from which the data will be read, bookstore in this example.

  5. In the Collection field, type in the
    collection from which the data will be read, books in this example.

  6. Click Edit schema to define the data
    structure to be read from the MongoDB collection.

    components-use_case_tmongodbbulkload_4.png
  7. In the Mapping table, the Column field is automatically populated with the
    defined schema. You do not need to fill in the Parent
    node path
    column.

  8. Double-click the first tLogRow component
    to open its Basic settings view in the
    Component tab.

    components-use_case_tmongodbbulkload_5.png
  9. In the Mode area, select Table (print values in cells of a table).

Importing data from a JSON file

  1. Double-click the second tMongoDBBulkLoad
    component to open its Basic settings view
    in the Component tab.

    components-use_case_tmongodbbulkload_6.png
  2. In the MongoDB directory field, type in
    the MongoDB home directory. In this example, it is D:/MongoDB.

  3. In the Server and Port fields, fill in the information required for the
    connection to MongoDB. In this example, type in localhost and 27017.

  4. In the Database field, type in the target
    database to import data, bookstore in
    this example.

    In the Collection field, type in the
    target collection to import data, books
    in this example.

  5. Browse to the desired data file from which you want to import data. Here,
    select books.json.

  6. Select JSON from the File type list.

  7. Select Insert from the Action on data list.

  8. Click the Advanced settings tab to define
    the additional arguments as needed.

    components-use_case_tmongodbbulkload_9.png

    In this example, add the argument
    –jsonArray”
    to accept the imported data within a single JSON
    array.

Validating that the JSON file is imported successfully

  1. Repeat Step 1 through Step 7 described in the procedure Validating that the CSV file is imported successfully to configure the second tMongoDBInput component.

    components-use_case_tmongodbbulkload_7.png
  2. Repeat Step 8 through Step 9 described in the procedure Validating that the CSV file is imported successfully to configure the second tLogRow component.

Saving and executing the Job

  1. Press Ctrl + S to save the Job.

  2. Execute the Job by pressing F6 or
    clicking Run on the Run tab.

    components-use_case_tmongodbbulkload_8.png

    The data from the collection books in
    the MongoDB database bookstore is
    displayed on the console, which contains the data imported from both the CSV
    file books.csv and the JSON file
    books.json.


Document get from Talend https://help.talend.com
Thank you for watching.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x