MongoDB ETL (php/java...)
Asked Answered
M

8

9

Is there an ETL for MongoDB ?...

Merta answered 26/3, 2011 at 19:38 Comment(1)
Can you be more specific? What is the format of the data you would like to extract, transform and load into mongodb into MongoDb?Howland
B
6

Pentaho Data Integration supports MongoDB (See the documentation http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps).

Similarly Talend supports MongoDB: https://github.com/adrien-mogenet/tMongoDBConnection

Breastpin answered 20/10, 2011 at 17:52 Comment(0)
H
5

For simple inserts of CSV documents I would suggest looking at the Mongo wiki page Import Export Tools.

For anything more complicated I'd suggest writing an ad-hoc script in the language you are most comfortable with.

Howland answered 29/3, 2011 at 13:45 Comment(0)
I
2

It seems that Pentaho Data Integration and Talend only supports reading from MongoDB, but not writing.

Another tool that just announced support for MongoDB is DataCleaner, and it supports both read and write operations. It does not position itself quite as an ETL tool, but more like a data quality analysis tool, but it does have ETL-like capabilities also.

http://datacleaner.eobjects.org

Ingemar answered 18/12, 2011 at 8:35 Comment(2)
Pentaho now supports writing to a Mongo collectionWatchmaker
Yes, and you even have a Video hereGuzzle
P
0

I created my own ETL solution with python scripts to transfer data from MySQL to MongoDB. It's awesome in my mind.

Basically, I used following two python modules for accessing mysql and mongodb:

  1. pymongo
  2. python-mysql.connect

Both of them are installable from official Ubuntu repository.

Purview answered 4/11, 2012 at 23:9 Comment(0)
M
0

I've created MongoDB driver for Scriptella ETL tool. It is available at https://github.com/scriptella/scriptella-mongodb.

Example of migrating data from the relational table:

<connection id="out" url="mongodb://localhost/test"  classpath="../lib/scriptella-mongodb-driver.jar:../lib/mongo-java-driver-2.10.1.jar" />

<query connection-id="in">
    SELECT * FROM USERS
    <script connection-id="out">
        {
            operation: 'db.collection.save',
            collection: 'users',
            data: {
                user_id: '?user_id',
                name: '?name'
            }
        }
    </script>
</query>
Mobocracy answered 7/5, 2013 at 21:23 Comment(0)
E
0

This PHP program automatically transfers MongoDB database to MySQL, It introspects the Mogno collections, creates MySQL schema and transfers the data. It does it only 1 level deep (level 0 and 1), deeper nesting is not migrated:

http://my.sociopal.com/sociopaltech/post?id=simple_utility_for_copying_data_from_mongodb_to_mysql_this_is_a_simple_php_program_im_using_in_o_61755

Eichelberger answered 21/5, 2013 at 15:48 Comment(0)
M
0

Pentaho DI supports MongoDB reads. I am not sure about the writes. I would think considering the underlying structure of MongoDB as opposed to conventional RDBMS you might be better off looking for a custom ETL process/scripting using python/java maybe rather than off the shelf tools that might not do what they claim to. Eventually one of these players in the BI-ETL market would have this in their tool once the process is mature and tested multiple times for mongoDb

Malissamalissia answered 17/3, 2016 at 21:21 Comment(0)
G
0

MongoSyphon is a lightweight open source ETL tool that transforms data into documents in JSON or XML format.

It can also do the reverse, sending documents directly into MongoDB, differing from other ETL tools that try to create relational structure. Other than MongoSyphon, we can also work with these all tools which deal with the same for eg:

  • Transporter
  • Hevo
  • Data
  • Krawler
  • Panoply
  • SYNC
  • Pentaho
Granary answered 20/8, 2020 at 8:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.