ツールのアリババのDATAXオープン公式データの同期は、多くの情報源との間でデータを同期するために使用することができ、効率的な、使いやすいです。
DATAXの関係者は提供しなければならないコンパイルバージョンは直接ダウンロードすることができますが、バグが含まれています。
私は最近のMongoDBは(MySQLのような)伝統的な構造化されたデータベースからデータを同期するために、問題が発生し、状況はフィールドが表示されます整列することはできません。
たとえば。このようMongoDBのコレクションの存在下で、例えば:
後でMySQLへ同期すると、これは次のようになります。
もちろん、それだけで対象端末にマッピングするためにあり、そしてフィールドで名前が一致していません。
問題を解決するには、再コンパイル DATAX
直接githubのソースからダウンロードDATAX、私はちょうどそれがプラグインをmongodbreaderコンパイルしたかったが、エラーとなっている、そのジョブをコンパイルするソースコード全体であるべきだと思います。
ディレクトリにDATAXのCDの後、公式コンパイラのコマンド:
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
直接間違ったことをされてコンパイルされ、古いバージョンを使用して設定する内部依存ソースでMavenのpom.xmlファイルは、問題があるでしょうので、それは、見つけることができないいくつかの新聞に依存しますので、彼らは変更を必要としています。
:3が存在する場合に変更するには
odpsreader /のpom.xmlとodpswriter /のpom.xml
<dependency>
<groupId>com.aliyun.odps</groupId>
<artifactId>odps-sdk-core</artifactId>
<version>0.20.7-public</version>
</dependency>
otsstreamreader /のpom.xml
<dependency>
<groupId>com.aliyun.openservices</groupId>
<artifactId>tablestore-streamclient</artifactId>
<version>1.0.0</version>
</dependency>
修正後は、その後、コマンドのパッケージを実行します。
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
最終的には見SUCCESSを構築パッケージの成功を示すために。で結果のオブジェクトファイルdatax/target/
ディレクトリ
参考:
[1]。MongoDBはデータを書き込まHDFS、フィールドの損失読み取る
[2] のODP依存コンパイラ引き起こさない
[する。3]。Otsstreamreaderウィジェットコンパイラ依存POM所与
[4]。データXユーザガイドの