MongoDB の ETL はありますか? ...
8 に答える
Pentaho データ統合は MongoDB をサポートします (ドキュメントhttp://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Stepsを参照してください)。
同様に、Talend は MongoDB をサポートしています: https://github.com/adrien-mogenet/tMongoDBConnection
CSVドキュメントの簡単な挿入については、Mongowikiページのインポートエクスポートツールを参照することをお勧めします。
もっと複雑なことについては、あなたが最も慣れている言語でアドホックスクリプトを書くことをお勧めします。
Pentaho Data Integration と Talend は MongoDB からの読み取りのみをサポートし、書き込みはサポートしていないようです。
MongoDB のサポートを発表したばかりのもう 1 つのツールは DataCleaner で、読み取り操作と書き込み操作の両方をサポートしています。それ自体を ETL ツールとして位置付けているわけではなく、データ品質分析ツールに似ていますが、ETL のような機能も備えています。
MySQL から MongoDB にデータを転送するための Python スクリプトを使用して、独自の ETL ソリューションを作成しました。それは私の心の中で素晴らしいです。
基本的に、mysql と mongodb にアクセスするために、次の 2 つの Python モジュールを使用しました。
- ピモンゴ
- python-mysql.connect
どちらも公式の Ubuntu リポジトリからインストールできます。
Scriptella ETLツール用の MongoDB ドライバーを作成しました。https://github.com/scriptella/scriptella-mongodbで入手できます。
リレーショナル テーブルからデータを移行する例:
<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>