DATAXをコンパイルします

ツールのアリババの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.xmlodpswriter /の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ユーザガイドの

おすすめ

転載: www.cnblogs.com/wuzhiblog/p/compile_datax3_0.html