DataX部署安装
一、準備
系統(tǒng)環(huán)境:Windows Server 2008
Python2.7.14.msi
datax.tar.gz
二、安裝
Python
?
打開cmd,輸入python回車進行測試
DataX
解壓datax.tar.gz到指定文件夾。
三、配置
JOB
到D:\datax\job創(chuàng)建*.json文件,配置需要進行數(shù)據(jù)抽取的表
{
????"job":{
????????"content":[
????????????{
????????????????"reader":{
????????????????????"parameter":{
????????????????????????"password":"phisphis",
????????????????????????"connection":[
????????????????????????????{
????????????????????????????????"querySql":[
????????????????????????????????????"select PERSON_NAME, HOUSEHOLD_TYPE, ADDR_AREA from phis.EHR_BASE where ID > $stID"
????????????????????????????????],
????????????????????????????????"jdbcUrl":[
????????????????????????????????????"jdbc:db2://172.16.19.116:50000/phis"
????????????????????????????????]
????????????????????????????}
????????????????????????],
????????????????????????"username":"phis2"
????????????????????},
????????????????????"name":"db2reader"
????????????????},
????????????????"writer":{
????????????????????"parameter":{
????????????????????????"password":"123456",
????????????????????????"column":[
????????????????????????????"`PERSON_NAME`",
????????????????????????????"`HOUSEHOLD_TYPE`",
????????????????????????????"`ADDR_AREA`"
????????????????????????],
????????????????????????"connection":[
????????????????????????????{
????????????????????????????????"jdbcUrl":"jdbc:mysql://11.105.26.130:3306/gw?useUnicode=true&characterEncoding=utf-8",
????????????????????????????????"table":[
????????????????????????????????????"EHR_BASE"
????????????????????????????????]
????????????????????????????}
????????????????????????],
????????????????????????"writeMode":"replace",
????????????????????????"batchSize":1000,
????????????????????????"username":"root"
????????????????????},
????????????????????"name":"mysqlwriter"
????????????????}
????????????}
????????],
????????"setting":{
????????????"speed":{
????????????????"byte":1048576
????????????}
????????}
????}
}
BAT腳本
創(chuàng)建D:\datax\bat目錄,在目錄下創(chuàng)建bat腳本
@echo?off
setlocal enabledelayedexpansion
set TITLE=EHR_BASE
cd bin
(
??echo use gw;
??echo select ID from EHR_BASE order by ID desc LIMIT?1;
) | mysql -uroot -p123456 >EHR_BASE.txt
set line=
rem stID是變量,獲取前置機gw數(shù)據(jù)庫中最大的ID,如果DB2數(shù)據(jù)庫中ID>stID,則抽取大余stID的數(shù)據(jù)
set stID=
for?/f?"tokens=1"?%%i in (EHR_BASE.txt)?do?(
set /a line+=1
if?!line!==2?set stID=%%i
)
set /a stID+=0
set p=" -DstID=%stID%"
:0
rem 下面是暫停5分鐘之后再繼續(xù)執(zhí)行的命令
ping -n?300?127.0.0.1>nul
rem 下面是python調(diào)用datax中的job進行抽數(shù)的命令
python D:\datax\bin\datax.py -p %p% D:\datax\job\EHR_BASE.json &&?goto?0
四、運行
雙擊編輯好的bat腳本,開始運行
?
轉(zhuǎn)載于:https://www.cnblogs.com/Memories-off/p/10435613.html
總結(jié)
- 上一篇: java8模拟grouby方法
- 下一篇: Python300篇电子书免费送