1,下載
svn co http://code.taobao.org/p/datax
2,安裝
根據服務器安裝軟件情況可能需要安裝下面軟件
yum install antyum install gcc-c++
yum install rpm-build
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 -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