DataX初體驗(yàn)-python命令啟動以及純java啟動

一垫释、DataX安裝

官網(wǎng)描述很詳細(xì)软舌,很簡單---->DataX安裝

二锰茉、使用示例:從Oracle數(shù)據(jù)庫導(dǎo)數(shù)據(jù)到Mysql數(shù)據(jù)庫

事先準(zhǔn)備:

Oracle數(shù)據(jù)庫的ORDER_INFO表设联,MySQL數(shù)據(jù)庫的order_info表缕碎,表結(jié)構(gòu)相同

2.1使用Python啟動
  • 生成模板文件
    打開安裝目錄的bin褥影,使用命令python datax.py -r {YOUR_READER} -w {YOUR_WRITER}生成模板文件,由于我是要從Oracle讀數(shù)據(jù)到MySQL咏雌,所以我的生成模板命令如下:(DataX支持的reader和writer )
$ cd {YOUR_DATAX_DIR_BIN}
$ python datax.py -r oraclereader -w mysqlwriter
  • 根據(jù)生成的模板文件凡怎,填充自己的json文件
    我按照實(shí)際情況填充后如下:
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "oraclereader",
                    "parameter": {
                        "column": ["*"],
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:oracle:thin:@192.168.123.34:1521:ocm"],
                                "table": ["ORDER_INFO"]
                            }
                        ],
                        "password": "admin",
                        "username": "***"
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": ["*"],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://192.168.211.56:3306/test_datax?characterEncoding=utf8",
                                "table": ["order_info"]
                            }
                        ],
                        "password": "datax01",
                        "preSql": [],
                        "session": [],
                        "username": "datax01",
                        "writeMode": "insert"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "5"
            }
        }
    }
}

保存為oracle2mysql.json文件于{YOUR_DATAX_DIR_BIN}目錄

  • 啟動DataX,開始傳輸
$ cd {YOUR_DATAX_DIR_BIN}
$ python datax.py ./oracle2mysql.json 

同步結(jié)束赊抖,顯示如下日志:


2018-09-18 14:31:15.200 [job-0] INFO  JobContainer -
任務(wù)啟動時刻                    : 2018-09-18 14:31:02
任務(wù)結(jié)束時刻                    : 2018-09-18 14:31:15
任務(wù)總計(jì)耗時                    :                 12s
任務(wù)平均流量                    :          228.64KB/s
記錄寫入速度                    :            495rec/s
讀出記錄總數(shù)                    :                4953
讀寫失敗總數(shù)                    :                   0
2.2使用Java啟動

github上將DataX的源碼clone到本地统倒,DataX的入口類是core包下面的alibaba.datax.core.Engine.main()方法。
根據(jù)datax.py文件的以下幾行配置項(xiàng)目的參數(shù)

DEFAULT_JVM = "-Xms1g -Xmx1g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%s/log" % (DATAX_HOME)
DEFAULT_PROPERTY_CONF = "-Dfile.encoding=UTF-8 -Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener -Djava.security.egd=file:///dev/urandom -Ddatax.home=%s -Dlogback.configurationFile=%s" % (
    DATAX_HOME, LOGBACK_FILE)
ENGINE_COMMAND = "java -server ${jvm} %s -classpath %s  ${params} com.alibaba.datax.core.Engine -mode ${mode} -jobid ${jobid} -job ${job}" % (
    DEFAULT_PROPERTY_CONF, CLASS_PATH)
  • 配置JVM參數(shù)如下
    -Xms1g -Xmx1g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath={DATAX_HOME}/log

  • 配置環(huán)境變量
    -Dfile.encoding=UTF-8 -Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener -Djava.security.egd=file:///dev/urandom -Ddatax.home=%s -Dlogback.configurationFile=%s"
    去掉-D熏迹,配置在

    image.png

  • 配置啟動項(xiàng)
    從Engine類的第124行到126行可以看出檐薯,啟動項(xiàng)需要配置三個參數(shù):mode凝赛、jobid和job注暗,jobid如果不配置的話默認(rèn)為-1,但是只有mode是standalone模式時墓猎,jobid才能取-1的值捆昏,job配置了json文件位置

        options.addOption("job", true, "Job config.");
        options.addOption("jobid", true, "Job unique id.");
        options.addOption("mode", true, "Job runtime mode.");

以我的情況為例:
-mode standalone -jobid -1 -job \...\oracle2mysql.json

  • 啟動java項(xiàng)目
    直接在idea里面運(yùn)行項(xiàng)目,控制臺最后輸出一下日志:
15:21:08.806 [job-0] INFO  c.a.datax.core.job.JobContainer - 
任務(wù)啟動時刻                    : 2018-09-18 15:20:36
任務(wù)結(jié)束時刻                    : 2018-09-18 15:21:08
任務(wù)總計(jì)耗時                    :                 31s
任務(wù)平均流量                    :           76.27KB/s
記錄寫入速度                    :            165rec/s
讀出記錄總數(shù)                    :                4956
讀寫失敗總數(shù)                    :                   0
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末毙沾,一起剝皮案震驚了整個濱河市骗卜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌左胞,老刑警劉巖寇仓,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異烤宙,居然都是意外死亡遍烦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門躺枕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來服猪,“玉大人供填,你說我怎么就攤上這事“罩恚” “怎么了近她?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長膳帕。 經(jīng)常有香客問我粘捎,道長,這世上最難降的妖魔是什么备闲? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任晌端,我火速辦了婚禮,結(jié)果婚禮上恬砂,老公的妹妹穿的比我還像新娘咧纠。我一直安慰自己,他們只是感情好泻骤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布漆羔。 她就那樣靜靜地躺著,像睡著了一般狱掂。 火紅的嫁衣襯著肌膚如雪演痒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天趋惨,我揣著相機(jī)與錄音鸟顺,去河邊找鬼。 笑死器虾,一個胖子當(dāng)著我的面吹牛讯嫂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播兆沙,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼欧芽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了葛圃?” 一聲冷哼從身側(cè)響起千扔,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎库正,沒想到半個月后曲楚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡褥符,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年龙誊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片属瓣。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡载迄,死狀恐怖讯柔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情护昧,我是刑警寧澤魂迄,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站惋耙,受9級特大地震影響捣炬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜绽榛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一湿酸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灭美,春花似錦推溃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至犁苏,卻和暖如春硬萍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背围详。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工朴乖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人助赞。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓买羞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嫉拐。 傳聞我的和親對象是個殘疾皇子哩都,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理魁兼,服務(wù)發(fā)現(xiàn)婉徘,斷路器,智...
    卡卡羅2017閱讀 134,661評論 18 139
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,938評論 2 89
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,822評論 6 342
  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復(fù) [日期:2016-11-29] 來源:Linux社區(qū) 作...
    陽屯okyepd閱讀 3,426評論 0 7
  • 有人住高樓咐汞,有人在深溝盖呼,有人光萬丈,有人一身銹化撕,世人萬千種几晤,浮云莫去求,斯人若彩虹植阴,遇上方知有蟹瘾。
    皎在云間閱讀 214評論 0 0