DATAX部署
DataX 是阿里云?DataWorks數(shù)據(jù)集成?的開源版本,在阿里巴巴集團(tuán)內(nèi)被廣泛使用的離線數(shù)據(jù)同步工具/平臺(tái)。DataX 實(shí)現(xiàn)了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各種異構(gòu)數(shù)據(jù)源之間高效的數(shù)據(jù)同步功能。
1.環(huán)境要求:
Linux
JDK(1.8以上,推薦1.8)
Python(2或3都可以,一般linux系統(tǒng)自帶這里不贅述)
Apache Maven 3.x?(Compile DataX)
2.部署JDK1.8
根據(jù)系統(tǒng)從oracle官網(wǎng)下載jdk1.8。本人系統(tǒng)為x86-64,所以選擇了x64。


下載并上傳tar包至linux服務(wù)器上。
解壓jdk tar包至/usr/local目錄下
tar xvf jdk-8u202-linux-x64.tar.gz -C /usr/local

配置環(huán)境變量
vi /etc/profile
根據(jù)JAVA解壓目錄在/etc/profile文件中添加JAVA_HOME,CLASSPATH,PATH等參數(shù)

source /etc/profile
java -version
看見java版本信息,至此安裝成功。

3.部署Apache Maven 3.x
下載apache maven
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
解壓至/usr/local下
tar xvf apache-maven-3.3.9-bin.tar.gz -C /usr/local

配置環(huán)境變量
vim /etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=$MAVEN_HOME/bin:$PATH
source?/etc/profile
檢查是否安裝成功
mvn -v

4.部署datax
下載datax
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

解壓至/opt
cd?/opt/datax/bin
5.編寫json文件
以讀mysql數(shù)據(jù)庫(kù),寫mysql數(shù)據(jù)庫(kù)為例
{
? "job": {
? ? "setting": {
? ? ? "speed": {
? ? ? ? "channel": 3,
? ? ? ? "byte": 1048576
? ? ? },
? ? ? "errorLimit": {
? ? ? ? "record": 0,
? ? ? ? "percentage": 0.02
? ? ? }
? ? },
? ? "content": [
? ? ? {
? ? ? ? "reader": {
? ? ? ? ? "name": "mysqlreader",
? ? ? ? ? "parameter": {
? ? ? ? ? ? "username": "yRjwDFuoPKlqya9h9H2Amg==",
? ? ? ? ? ? "password": "2aicp4yU6ALi25FYjEoW6w==",
? ? ? ? ? ? "column": [
? ? ? ? ? ? ? "`DZFPUUID`",
? ? ? ? ? ? ? "`SFWZZFP`",
? ? ? ? ? ? ? "`FPHM`"
? ? ? ? ? ? ??
? ? ? ? ? ? ],
? ? ? ? ? ? "splitPk": "",
? ? ? ? ? ? "connection": [
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? "table": [
? ? ? ? ? ? ? ? ? "dzfp_kpyw_fpjcxxb"
? ? ? ? ? ? ? ? ],
? ? ? ? ? ? ? ? "jdbcUrl": [
? ? ? ? ? ? ? ? ? "jdbc:mysql://101.34.179.142:3306/TEST"
? ? ? ? ? ? ? ? ]
? ? ? ? ? ? ? }
? ? ? ? ? ? ]
? ? ? ? ? }
? ? ? ? },
? ? ? ? "writer": {
? ? ? ? ? "name": "mysqlwriter",
? ? ? ? ? "parameter": {
? ? ? ? ? ? "username": "yRjwDFuoPKlqya9h9H2Amg==",
? ? ? ? ? ? "password": "2aicp4yU6ALi25FYjEoW6w==",
? ? ? ? ? ? "column": [
? ? ? ? ? ? ? "`DZFPUUID`",
? ? ? ? ? ? ? "`SFWZZFP`",
? ? ? ? ? ? ? "`FPHM`"
? ? ? ? ? ?
? ? ? ? ? ? ],
? ? ? ? ? ? "connection": [
? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? "table": [
? ? ? ? ? ? ? ? ? "dzfp_kpyw_fpjcxxb_copy1"
? ? ? ? ? ? ? ? ],
? ? ? ? ? ? ? ? "jdbcUrl": "jdbc:mysql://101.34.179.142:3306/TEST"
? ? ? ? ? ? ? }
? ? ? ? ? ? ]
? ? ? ? ? }
? ? ? ? }
? ? ? }
? ? ]
? }
}
將json文件保存在/opt/datax/job/ceshi.json下
運(yùn)行datax,抽取數(shù)據(jù)
python /opt/datax/job/datax.py /opt/datax/job/ceshi.json
