一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

ETL高級(jí)教程

 集微筆記 2013-09-12

1,Kettle跨平臺(tái)使用。
    例如:在AIX下(AIX是IBM商用UNIX操作系統(tǒng),此處在LINUX/UNIX同樣適用),運(yùn)行Kettle的相關(guān)步驟如下:
    1)進(jìn)入到Kettle部署的路徑
    2)執(zhí)行 chmod *.sh,將所有shell文件添加可執(zhí)行權(quán)限
    3)在Kettle路徑下,如果要執(zhí)行transformation,就運(yùn)行./pan.sh -file=?.ktr -debug=debug -log=log.log
    其中。-file說(shuō)明你要運(yùn)行的transformation文件所在的路徑;-debug說(shuō)明日志輸出的級(jí)別;-log說(shuō)明日志輸出的路徑
    4)同理,對(duì)于job的執(zhí)行,請(qǐng)將./pan.sh更換成./kitchen.sh,其他部分說(shuō)明不變。

2,Kettle環(huán)境變量使用。
    在transformation中,Core Objects-->Job-->Set Variables,可疑設(shè)置環(huán)境變量,對(duì)于絕對(duì)路徑和相對(duì)路徑的轉(zhuǎn)換很有幫助,Kettle的跨平臺(tái)很大程度依靠他的

3,其它功能的使用。
    其它功能包括DB存儲(chǔ)過(guò)程調(diào)用,流查詢,值映射,聚合記錄等,各位自行摸索,有問(wèn)題可以和我聯(lián)系:)

4,Kettle定時(shí)功能。
    在Job下的start模塊,有一個(gè)定時(shí)功能,可以每日,每周等方式進(jìn)行定時(shí),對(duì)于周期性的ETL,很有幫助。

5,Kettle經(jīng)驗(yàn)之日志。
    Kettle對(duì)于日志的處理,存在一個(gè)BUG,看過(guò)上一篇的人或許已經(jīng)看到了我的留言,Kettle對(duì)于日志處理有一個(gè)BUG,
    當(dāng)日志多于49M(不是50M,也不是49M),Kettle就會(huì)自動(dòng)停止,這一點(diǎn)我在源碼里面也沒(méi)有找到對(duì)應(yīng)的設(shè)置和約束,
    原因還找不到,因?yàn)槭侨罩緵](méi)有寫(xiě),所以原因也不好跟蹤還不知道具體原因。

6,Kettle之效率提升。
    Kettle作為一款ETL工具,肯定無(wú)法避免遇到效率問(wèn)題,當(dāng)很大的數(shù)據(jù)源輸入的時(shí)候,就會(huì)遇到效率的問(wèn)題。對(duì)此有幾個(gè)解決辦法:
    1)數(shù)據(jù)庫(kù)端創(chuàng)建索引。對(duì)需要進(jìn)行查詢的數(shù)據(jù)庫(kù)端字段,創(chuàng)建索引,可以在很大程度上提升查詢的效率,最多的時(shí)候,我不創(chuàng)建索引,
 一秒鐘平均查詢4條記錄,創(chuàng)建索引之后,一秒鐘查詢1300條記錄。
    2)數(shù)據(jù)庫(kù)查詢和流查詢注意使用環(huán)境。因?yàn)閿?shù)據(jù)庫(kù)查詢?yōu)閿?shù)據(jù)輸入端輸入一條記錄,就對(duì)目標(biāo)表進(jìn)行一次查詢,而流查詢則是將目標(biāo)表讀取到內(nèi)存中,數(shù)據(jù)輸入端輸入數(shù)據(jù)時(shí),對(duì)內(nèi)從進(jìn)行查詢,所以,當(dāng)輸入端為大數(shù)據(jù)量,而被查詢表數(shù)據(jù)量較?。◣装贄l記錄),則可以使用流查詢,畢竟將目標(biāo)表讀到內(nèi)存中,查詢的速度會(huì)有非常大的提升(內(nèi)存的讀寫(xiě)速度是硬盤(pán)的幾百倍,再加上數(shù)據(jù)庫(kù)自身?xiàng)l件的制約,速度影響會(huì)更大)。同理,對(duì)于目標(biāo)表是大數(shù)據(jù)量,還是建議使用數(shù)據(jù)庫(kù)查詢,不然的話,一下子幾百M(fèi)的內(nèi)存被干進(jìn)去了,還是很恐怖的。
    3)謹(jǐn)慎使用javascript腳本,因?yàn)閖avascript本身效率就不高,當(dāng)你使用js的時(shí)候,就要考慮你每一條記錄,就要執(zhí)行一次js所需要的時(shí)間了。
    4)數(shù)據(jù)庫(kù)commit次數(shù),一條記錄和一百條記錄commit對(duì)效率的影響肯定是不一樣的。
    5)表輸入的sql語(yǔ)句的寫(xiě)法。有些人喜歡在表輸入的時(shí)候,將所有關(guān)聯(lián)都寫(xiě)進(jìn)去,要么from N多個(gè)表,要么in來(lái)in去,這樣,就要面對(duì)我在2)里面說(shuō)道的問(wèn)題,需要注意。
    6)注意日志輸出,例如選擇數(shù)據(jù)庫(kù)更新方式,而且日志級(jí)別是debug,那么后臺(tái)就會(huì)拼命的輸出日志,會(huì)在很大程度上影響速度,此處一定要注意。

7,常見(jiàn)的調(diào)試BUG。
    Kettle提供了很多調(diào)試的解決辦法,但是對(duì)于常見(jiàn)的調(diào)試BUG還是能避免就避免。
    1)路徑問(wèn)題。我最常遇到的問(wèn)題就是在windows下調(diào)試成功,但是部署到UNIX下出問(wèn)題,忘記將windows下路徑變成unix下,經(jīng)常會(huì)出現(xiàn)問(wèn)題。
    2)輸出端,數(shù)據(jù)庫(kù)插入更新選擇不對(duì)。輸出端,提供了三種數(shù)據(jù)庫(kù)輸出的辦法,數(shù)據(jù)庫(kù)輸出,插入/更新,更新,對(duì)于這三種,各有利弊,如果你知道數(shù)據(jù)庫(kù)輸出,完全是插入,如果有重復(fù)數(shù)據(jù),則會(huì)報(bào)錯(cuò);插入更新和更新,因?yàn)楦聰?shù)據(jù)時(shí),后臺(tái)輸出很多日志,會(huì)導(dǎo)致效率很低。
   

    總體來(lái)說(shuō),Kettle還是一個(gè)很不錯(cuò)的ETL工具,在開(kāi)源軟件里面并不多見(jiàn),以后有Kettle相關(guān)的問(wèn)題,大家可疑相互探討。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产在线视频好看不卡| 视频在线免费观看你懂的| 午夜福利视频偷拍91| 久久精品国产亚洲av麻豆| 日本午夜一本久久久综合| 亚洲欧洲精品一区二区三区| 亚洲精品国男人在线视频| 年轻女房东2中文字幕| 亚洲少妇人妻一区二区| 午夜福利精品视频视频 | 91欧美亚洲精品在线观看| 久久热这里只有精品视频| 色哟哟在线免费一区二区三区| 国产欧美日韩精品一区二| 黑鬼糟蹋少妇资源在线观看| 亚洲熟女诱惑一区二区| 婷婷激情五月天丁香社区| 欧美熟妇喷浆一区二区| 翘臀少妇成人一区二区| 狠狠做深爱婷婷久久综合| 91精品视频免费播放| 在线观看免费无遮挡大尺度视频| 国产丝袜极品黑色高跟鞋| 日本高清二区视频久二区| 欧美激情中文字幕综合八区| 国产不卡的视频在线观看| 日韩精品第一区二区三区| 久久老熟女一区二区三区福利| 欧美胖熟妇一区二区三区| 日韩高清一区二区三区四区| 欧美日韩国内一区二区| 丰满人妻一二三区av| 欧美日韩综合在线精品| 免费福利午夜在线观看| 欧美黑人在线精品极品| 99久久人妻中文字幕| 色婷婷中文字幕在线视频| 一区中文字幕人妻少妇| 人妻偷人精品一区二区三区不卡| 国产欧美一区二区另类精品| 东京热加勒比一区二区|