點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!!!
某核心系統(tǒng)業(yè)務(wù)部分業(yè)務(wù)遷移到國(guó)產(chǎn)數(shù)據(jù)庫(kù)OceanBase,但是歷史數(shù)據(jù)仍然需要遷移到Oracle數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)實(shí)時(shí)性要求不高,只需要清理前完成1個(gè)月的數(shù)據(jù)遷移即可 。
DataX
DataX本身作為離線數(shù)據(jù)同步框架,采用Framework + plugin架構(gòu)構(gòu)建。
將數(shù)據(jù)源讀取和寫(xiě)入抽象成為Reader/Writer插件,納入到整個(gè)同步框架中,比較簡(jiǎn)潔。
Reader:Reader為數(shù)據(jù)采集模塊,負(fù)責(zé)采集數(shù)據(jù)源的數(shù)據(jù),將數(shù)據(jù)發(fā)送給Framework。
Writer:Writer為數(shù)據(jù)寫(xiě)入模塊,負(fù)責(zé)不斷向Framework取數(shù)據(jù),并將數(shù)據(jù)寫(xiě)入到目的端。
datax的使用
python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json
{
"job": {
"setting": {
"speed": {
"channel": 100,
"bytes":0
},
"errorLimit": {
"record":"",
"percentage":
}
},
"content": [
{
"reader": {
"name": "oceanbasev10reader",
"parameter": {
"username": "",
"password": "",
"column": [
"*"
],
"connection": [
{
"jdbcUrl":[ ""],
"querySql": [
"select * from ${readTb} PARTITION(${readpartition}) "
]
}
],
"batchSize": 1024
}
},
"writer": {
"name": "oraclewriter",
"parameter": {
"where": "",
"column": ["*"],
"preSql": [],
"connection": [
{
"jdbcUrl": "",
"table": ["${writeTb}"]
}
],
"username": "",
"password": ""
}
}
}
]
}
}
python /home/admin/tools/datax3/bin/datax.py
/home/admin/ob_ss/ob_to_ora_ss_tbcs5.json -p"-DreadTb=table1
-Dreadpartition=partition1 -DwriteTb=table1 "
#!/bin/bash
v_table_list=/home/admin/ob_ss/source_table.lst
v_exec_command=/home/admin/tools/datax3/bin/datax.py
v_path_json=/home/admin/ob_ss/ob_to_ora_ss_tbcs5.json
v_path_log=/home/admin/ob_ss/log/
#從table_name.txt獲取表名、分區(qū)
for table_name in `cat $v_table_list`
Do
v_source_table_name1=`echo $table_name|awk -F ":" {print $1}`
v_source_table_partition=`echo $table_name|awk -F ":" {print $2}`
v_target_table_name=`echo $table_name|awk -F ":" {print $1}|awk -F "." {print $2}`
$v_exec_command --loglevel=info -p "
-DreadTb=${v_source_table_name1}
-Dreadpartition=${v_source_table_partition}
-DwriteTb=${v_target_table_name}
" $v_path_json >> "$v_path_log"$v_source_table_name1"_"$v_source_table_partition".log
DataX的并發(fā)參數(shù)
Json配置文件讀寫(xiě)數(shù)據(jù)有兩種模式:
遇到的問(wèn)題
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/129386.html
摘要:與大數(shù)據(jù)體系交互上報(bào)運(yùn)行統(tǒng)計(jì)數(shù)據(jù)自帶了運(yùn)行結(jié)果的統(tǒng)計(jì)數(shù)據(jù),我們希望把這些統(tǒng)計(jì)數(shù)據(jù)上報(bào)到元數(shù)據(jù)系統(tǒng),作為的過(guò)程元數(shù)據(jù)存儲(chǔ)下來(lái)。基于我們的開(kāi)發(fā)策略,不要把有贊元數(shù)據(jù)系統(tǒng)的嵌入源碼,而是在之外獲取,截取出打印的統(tǒng)計(jì)信息再上報(bào)。一、需求 有贊大數(shù)據(jù)技術(shù)應(yīng)用的早期,我們使用 Sqoop 作為數(shù)據(jù)同步工具,滿足了 MySQL 與 Hive 之間數(shù)據(jù)同步的日常開(kāi)發(fā)需求。 隨著公司業(yè)務(wù)發(fā)展,數(shù)據(jù)同步的場(chǎng)景越...
Oceanbase新版本復(fù)合分區(qū)添加分區(qū)操作 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
在社會(huì)化分工、軟件行業(yè)細(xì)分專業(yè)化的趨勢(shì)下,會(huì)真的參與到底層系統(tǒng)實(shí)現(xiàn)的人肯定是越來(lái)越少(比例上說(shuō))。真的會(huì)參與到JVM實(shí)現(xiàn)的人肯定是少數(shù)。 但如果您對(duì)JVM是如何實(shí)現(xiàn)的有興趣、充滿好奇,卻苦于沒(méi)有足夠系統(tǒng)的知識(shí)去深入,那么可以參考RednaxelaFX整理的這個(gè)書(shū)單。 showImg(http://segmentfault.com/img/bVbGzn); 本豆列的脈絡(luò)是: 1. JV...
摘要:在有贊的技術(shù)演進(jìn)。業(yè)務(wù)數(shù)據(jù)量正在不斷增大,這些任務(wù)會(huì)影響業(yè)務(wù)對(duì)外服務(wù)的承諾。監(jiān)控需要收集上執(zhí)行的的審計(jì)信息,包括提交者執(zhí)行的具體,開(kāi)始結(jié)束時(shí)間,執(zhí)行完成狀態(tài)。還有一點(diǎn)是詳細(xì)介紹了的原理,實(shí)踐中設(shè)置了的比默認(rèn)的減少了以上的時(shí)間。 前言 有贊數(shù)據(jù)平臺(tái)從2017年上半年開(kāi)始,逐步使用 SparkSQL 替代 Hive 執(zhí)行離線任務(wù),目前 SparkSQL 每天的運(yùn)行作業(yè)數(shù)量5000個(gè),占離線...
閱讀 1353·2023-01-11 13:20
閱讀 1699·2023-01-11 13:20
閱讀 1211·2023-01-11 13:20
閱讀 1902·2023-01-11 13:20
閱讀 4161·2023-01-11 13:20
閱讀 2751·2023-01-11 13:20
閱讀 1397·2023-01-11 13:20
閱讀 3664·2023-01-11 13:20