數據交換工具DataX使用

1,下載

svn co http://code.taobao.org/p/datax

2,安裝

根據服務器安裝軟件情況可能需要安裝下面軟件

yum install ant

yum install gcc-c++

yum install rpm-build


進入rpm目錄編譯
cd datax/trunk/rpm

rpmbuild --ba t_dp_datax_engine.spec

rpmbuild --ba  t_dp_datax_hdfsreader.spec

rpmbuild --ba  t_dp_datax_hdfswriter.spec

rpmbuild --ba  t_dp_datax_mysqlreader.spec

rpmbuild --ba  t_dp_datax_mysqlwriter.spec

如果編譯過程中有錯誤還需要修改下源碼,修改如下內容,再編譯



成功後輸出路徑中有:

....

/root/rpmbuild/RPMS/noarch/t_dp_datax_mysqlreader-1.0.0-1.noarch.rpm


依次安裝編譯好的rpm包
....
rpm -ivh /root/rpmbuild/RPMS/noarch/t_dp_datax_mysqlreader-1.0.0-1.noarch.rpm

3,使用,安裝好engine和要用到的插件後就可以使用了

例如,從hdfs->mysql

編輯datax.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<jobs>
  <job id="HdfsReader_to_OracleWriter_job">
    <reader>
      <plugin>HdfsReader</plugin>
      <param key="hadoop_conf" value="/home/hadoop/conf/core-site.xml"/>
      <param key="dir" value="hdfs://namenode:9000/user/test.txt"/>
      <param key="field_split" value=","/>
      <param key="encoding" value="UTF-8"/>
      <param key="buffer_size" value="4096"/>
      <param key="nullString" value="\N"/>   
      <param key="ignore_key" value="true"/>
      <param key="concurrency" value="1"/>
    </reader>
    <writer>
      <plugin>MysqlWriter</plugin>
      <param key="ip" value="localhost"/>
      <param key="port" value="3306"/>
      <param key="dbname" value="test"/>
      <param key="username" value="root"/>
      <param key="password" value="123456"/>
      <param key="table" value="datax_test"/>
      <param key="colorder" value="?"/>
      <param key="encoding" value="UTF-8"/>
      <param key="replace" value="false"/>
      <param key="concurrency" value="1"/>
    </writer>
  </job>
</jobs>


執行 /home/taobao/datax/bin/datax.py /home/hadoop/datax.xml後


如果是hadoop 2.*版本需要把依賴jar包copy替換到/home/taobao/datax/plugins/reader/hdfsreader目錄下。


上面那個是老版本datax使用方式,最新版本的是通過json格式來配置的

最新版:

https://github.com/alibaba/DataX

安裝使用方法:

https://github.com/alibaba/DataX/wiki/Quick-Start



發佈了137 篇原創文章 · 獲贊 340 · 訪問量 80萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章