1. 程式人生 > >阿裏巴巴離線數據同步工具/平臺datax安裝、使用筆記

阿裏巴巴離線數據同步工具/平臺datax安裝、使用筆記

參數 場景 charset 工具 安裝包 ref ron sta 版本

廢話不多說,直接上筆記,先來看下參考鏈接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安裝、使用筆記