DataX部署安装
一、準備
系統環境:Windows Server 2008
Python2.7.14.msi
datax.tar.gz
二、安裝
Python
?
打開cmd,輸入python回車進行測試
DataX
解壓datax.tar.gz到指定文件夾。
三、配置
JOB
到D:\datax\job創建*.json文件,配置需要進行數據抽取的表
{
????"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腳本
創建D:\datax\bat目錄,在目錄下創建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數據庫中最大的ID,如果DB2數據庫中ID>stID,則抽取大余stID的數據
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分鐘之后再繼續執行的命令
ping -n?300?127.0.0.1>nul
rem 下面是python調用datax中的job進行抽數的命令
python D:\datax\bin\datax.py -p %p% D:\datax\job\EHR_BASE.json &&?goto?0
四、運行
雙擊編輯好的bat腳本,開始運行
?
轉載于:https://www.cnblogs.com/Memories-off/p/10435613.html
總結
- 上一篇: java8模拟grouby方法
- 下一篇: laravel5.8笔记一:安装与服务器