阿裏巴巴離線數據同步工具/平臺datax安裝、使用筆記
廢話不多說,直接上筆記,先來看下參考鏈接GitHub: https://github.com/alibaba/DataX。此鏈接有較詳細的安裝使用方法,還有json參數編寫的文檔說明,建議多看。
First,從上面的參考鏈接中下載datax,解壓完成後datax/bin目錄中就有了現成的可執行文件。但是還不能直接用,因為運行依賴於其他軟件,所以下面來看看運行要求和安裝步驟:
datax運行環境要求
Linux
JDK(1.8以上,推薦1.8)
Python(推薦Python2.6.X)
Apache Maven 3.x (Compile DataX)
所以第一步我們先要安裝上面這些軟件。
安裝步驟
安裝JDK
參考鏈接:https://www.cnblogs.com/xuliangxing/p/7066913.html
1、從官網下載系統對應JDK安裝包。(下載前可能會提示你讓你Accept License Agreement,點擊同意就好)
示例:wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz
2、解壓
tar -zxvf jdk-8u171-linux-x64.tar.gz (免編譯安裝)
3、修改環境變量
vim /etc/profile
用vim編輯器來編輯profile文件,在文件末尾添加以下內容:
export JAVA_HOME=${你的解壓路徑}/jdk1.8.0_171 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH} ###(與windows類似多個系統變量需要用符號分隔;只不過這裏用":", 而win用";")
保存退出。
4、重新執行修改後的配置,使配置生效
source /etc/profile讓profile
5、測試安裝結果
java --version
javac
以上兩個命令都能正確輸出提示才是成功安裝。
安裝Python
我的機器上已經自帶了Python2.6.6,而且很多的unix機器也都帶有Python,此處略過。如果沒有的或版本不夠的請自行安裝升級。
安裝Apache Maven 3.x
1、從官網下載系統對應壓縮包(註意:Binary tar包適用於unix系統;Source tar包適用於windows系統)
2、安裝 - 官方參考文檔
官網下載的包也是免編譯安裝的,只要配置環境變量就行。這裏我只翻譯unix系統下的設置方法,window類似。
-------------------------------------------------------------------------------------------------------------------------------------------
Unix-based Operating System (Linux, Solaris and Mac OS X) Tips
- Check environment variable value
echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
- Adding to PATH
export PATH=/opt/apache-maven-3.5.3/bin:$PATH
----------------------------------------------------------------------------------------------------------------------------------------------
第一步檢查環境。沒啥用,因為咱們在前面的步驟已經安裝過jdk了。
第二步將apache-maven的執行文件路徑加入到系統環境變量中,以便全局調用。操作方法參考安裝jdk的第四步
最後附上我的配置
以上是個人總結的安裝步驟, 下面進入datax的使用介紹。
datax的使用方法簡單
python {用戶目錄}/datax/bin/datax.py ./stream2stream.json
即可。
難的是如何配置json文件。在https://github.com/alibaba/DataX網頁中“Support Data Channels”板塊有各個數據庫的讀、寫的json參數編寫說明,請多加閱讀,只有多各個參數的解釋有了一定理解才能配制出符合業務場景的json。
json主要有兩個配置參數:content.reader和content.writer,這兩個的配置決定了讀、寫數據庫的所有配置,余下的屬於連接設置。文檔中參數說明理解起來稍微有點費勁,在編寫json過程中需要註意幾點,我以截圖劃重點方式展示:
下面附上我的測試配置和建表DDL
SQL server 測試表:
CREATE TABLE [dbo].[Table_ysb] (
[dpdm] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[dpmc] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bmdm] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[bmmc] nvarchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL
)
ON [PRIMARY]
Mysql 測試表:
CREATE TABLE `table_ysb` (
`dpdm` varchar(50) NOT NULL,
`dpmc` varchar(50) NOT NULL,
`bmdm` varchar(50) NOT NULL,
`bmmc` varchar(50) NOT NULL,
`txt` varchar(255) DEFAULT NULL,
`flag` tinyint(1) DEFAULT ‘0‘,
`total` int(11) DEFAULT ‘0‘
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Table_ysb 和Table_ysb_copy表結構一致,table_ysb和table_ysb2表結構一致。
阿裏巴巴離線數據同步工具/平臺datax安裝、使用筆記