DataX的使用


簡介

DataX 是阿里巴巴集團內被廣泛使用的離線數據同步工具/平台,實現包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各種異構數據源之間高效的數據同步功能。DataX采用了框架 + 插件 的模式,目前已開源,代碼托管在github。

DataX安裝部署及小試

1.下載壓縮包

下載頁面地址:https://github.com/alibaba/DataX 

在頁面中【Quick Start】--->【Download DataX下載地址】進行下載。下載后的包名:datax.tar.gz。

解壓后{datax}目錄下有{bin conf job lib log log_perf plugin script tmp}幾個目錄。

2.安裝

將下載后的壓縮包直接解壓后可用,前提是對應的java及python環境滿足要求。

  • JDK(1.6以上,推薦1.6)
  • Python(推薦Python2.7.X)一定要為python2,因為后面執行datax.py的時候,里面的python的print會執行不了,導致運行不成功,會提示你print語法要加括號,python2中加不加都行 python3中必須要加,否則報語法錯
  • Apache Maven 3.x (Compile DataX)

3.測試

進入datax目錄下的bin中,里面有datax.py文件,可以在cmd中測試:

python D:\datax\bin\datax.py D:\datax\job\job.json

使用即執行一個python腳本,傳入json配置文件 
配置文件,可以查看模版樣例,模版結果顯示: 

 

如果亂碼,可以在cmd中輸入:

CHCP 65001

使用DataX將mysql數據導入到oracle中

1.配置json

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "username": "****",
                        "password": "****",
                        "column": ["rank","payment"],
                        "connection": [
                            {
                                "table": [
                                    "salary"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://127.0.0.1:3306/test"
                                ]
                            }
                        ]
                    }
                },
                "writer": {
                    "name": "oraclewriter",
                    "parameter": {
                        "username": "****",
                        "password": "****",
                        "column": [
                            "rank",
                            "payment"
                        ],
                        "preSql": [
                            "delete from oracle_test"
                        ],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:oracle:thin:@127.0.0.1:1521:test",
                                "table": [
                                    "oracle_test"
                                ]
                            }
                        ]
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": 1
            }
        }
    }
}
View Code

2.cmd執行

python d:\datax\bin\datax.py E:\datax\Mysql2Oracle.json

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM