




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)轉(zhuǎn)換工具sqoop1. SqoopSqoop工具介紹 Sqoop Sqoop是Apache頂級(jí)項(xiàng)目,主要用來(lái)在Hadoop和關(guān)系數(shù)據(jù)庫(kù)中傳遞數(shù)據(jù)。通過(guò)sqoop,我們可以方便的將數(shù)據(jù)從關(guān)系數(shù)據(jù)庫(kù)導(dǎo)入到HDFS,或者將數(shù)據(jù)從HDFS導(dǎo)出到關(guān)系數(shù)據(jù)庫(kù)。 sqoop主要通過(guò)JDBC和關(guān)系數(shù)據(jù)庫(kù)進(jìn)行交互,理論上支持JDBC的database都可以使用sqoop。1.1 Sqoop介紹:兼容數(shù)據(jù)庫(kù) Sqoop主要通過(guò)mapreduce把數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫(kù)中導(dǎo)入數(shù)據(jù)到HDFS,目前測(cè)試兼容的數(shù)據(jù)庫(kù)。 對(duì)oracle數(shù)據(jù)庫(kù)的處理,復(fù)制jdbc驅(qū)動(dòng)ojdbc6.jar 到sqoop的lib目錄即可。數(shù)據(jù)庫(kù)
2、數(shù)據(jù)庫(kù)版本支持版本支持直接支持直接支持MySQL5.0+YesOracle10.2.0+NoPostgreSQL8.3+(只支持導(dǎo)入)YesHSQLDB1.8.0+NoTeradata13.0+No1.2 工作原理:總體架構(gòu)1.2 工作原理: 工作流程(1) Sqoop架構(gòu)非常簡(jiǎn)單,其整合了Hive、Hbase和Oozie,通過(guò)map-reduce任務(wù)來(lái)傳輸數(shù)據(jù),從而提供并發(fā)特性和容錯(cuò)。 Sqoop可以通過(guò)命令行先創(chuàng)建一個(gè)任務(wù)名,并描述該任務(wù)的導(dǎo)入或者導(dǎo)出工作,然后執(zhí)行即可。其主要工作流程如下:1.讀取要導(dǎo)入數(shù)據(jù)的表結(jié)構(gòu),生成運(yùn)行類(lèi),默認(rèn)是QueryResult,打成jar包,然后提交給Had
3、oop;1.2 工作原理: 工作流程(2)2.設(shè)置好mapreduce的job,主要包括如下參數(shù): (1) InputFormatClass : 設(shè)置輸入格式; (2) OutputFormatClass: 設(shè)置輸出格式,包括:文本、SequenceFile和AvroDataFile三種格式; (3) Mapper: 設(shè)置執(zhí)行mapreduce任務(wù)的mapper類(lèi); (4) taskNumbers: 設(shè)置執(zhí)行mapreduce的并行任務(wù)數(shù)。1.2 工作原理: 工作流程(3) 3. 由Hadoop來(lái)執(zhí)行MapReduce任務(wù)完成Import工作: 1)首先要對(duì)數(shù)據(jù)進(jìn)行切分,記錄劃分范圍并讀??;
4、2)然后創(chuàng)建RecordReader從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù); 3)創(chuàng)建Map,RecordReader一行一行從關(guān)系型數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),設(shè)置好Map的Key和Value; 4)運(yùn)行map。1.3 數(shù)據(jù)導(dǎo)入Import特性1.支持文本文件、avro、SequenceFiles格式, 默認(rèn)為文本。2.支持?jǐn)?shù)據(jù)追加,通過(guò)apend指定。3.支持table列選取(column),支持?jǐn)?shù)據(jù)選取(where、 join)。4.支持map任務(wù)數(shù)定制和數(shù)據(jù)壓縮。 5. 提供參數(shù)將關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)入到HBase ,導(dǎo)入HBase分二部:1)導(dǎo)入數(shù)據(jù)到HDFS; 2)調(diào)用HBase put操作逐行將數(shù)據(jù)寫(xiě)入表。1
5、.4 數(shù)據(jù)導(dǎo)出Export特性1. 支持將數(shù)據(jù)導(dǎo)出到表(table)或者調(diào)用存儲(chǔ)過(guò)程(call)。2. 支持insert、update模式。3. 支持并發(fā)控制。1.5 增量備份(1) 一般情況下,關(guān)系數(shù)據(jù)表存在于線上環(huán)境的備份環(huán)境,需要每天進(jìn)行數(shù)據(jù)導(dǎo)入。如果數(shù)據(jù)表較大,我們通常不可能每次都進(jìn)行全表的導(dǎo)入,而sqoop提供了增量導(dǎo)入數(shù)據(jù)的機(jī)制。 控制增量導(dǎo)入主要由三個(gè)參數(shù)控制: -check-column (col):表明當(dāng)判斷哪些行要被導(dǎo)入時(shí)需要檢查的列; -incremental (mode):表明Sqoop是如何判斷哪些行是新的,mode主要包括append(增量)和lastmodifie
6、d(上次備份后修改過(guò)的)兩個(gè)模式; -last-value (value):表明上次導(dǎo)入之后check-column(被檢查列)的最大值(已排序的)。 1.5 增量備份(2) 還有一個(gè)問(wèn)題,每天導(dǎo)入時(shí)last value值都不一樣,如何做到每天動(dòng)態(tài)的讀取新的last value呢?這點(diǎn)sqoop也想到了,sqoop支持把一條sqoop命令變?yōu)橐粋€(gè)job查找最新的last value,然后自動(dòng)地更換last value的值。 我們只要設(shè)置一個(gè)每天增量導(dǎo)出任務(wù)和一個(gè)定期的全表導(dǎo)出任務(wù),用腳本定時(shí)執(zhí)行兩個(gè)任務(wù)即可完成數(shù)據(jù)庫(kù)數(shù)據(jù)的轉(zhuǎn)換工作了。 1.6 Sqoop性能 原生Sqoop導(dǎo)出到HDFS速度為2.8MB/s左右。 此外Sqoop還有很多第三方的插件,比如Quest開(kāi)發(fā)的OraOop插件來(lái)提高導(dǎo)入導(dǎo)出速度。 測(cè)試環(huán)境如下:一臺(tái)只有700m內(nèi)存的,IO低下的oracle數(shù)據(jù)庫(kù),百兆的網(wǎng)絡(luò),使用Quest的Sqoop插件設(shè)置為4個(gè)并行度。從orcale導(dǎo)出到HDFS速度達(dá)到了5MB/s 。最新sqoop穩(wěn)定版本為1.4.4,1.6 Sqoop版本和穩(wěn)定性 最新sqoop穩(wěn)定版本為1.4.4,2013年8月發(fā)布,目前sqoop2也更新到了1.99.3,2013年
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 紅木家具修復(fù)與品牌授權(quán)合作協(xié)議
- 寵物寄養(yǎng)中心全面運(yùn)營(yíng)管理承包協(xié)議
- 文化活動(dòng)廣告創(chuàng)意策劃執(zhí)行及合作推廣協(xié)議
- 股權(quán)結(jié)構(gòu)調(diào)整及重組協(xié)議
- 醫(yī)院科研經(jīng)費(fèi)管理補(bǔ)充協(xié)議
- 高效節(jié)能工業(yè)廢氣在線監(jiān)測(cè)設(shè)備維護(hù)補(bǔ)充協(xié)議
- 國(guó)際化信息技術(shù)專(zhuān)利許可及全球運(yùn)營(yíng)支持合同
- 地下綜合管廊PPP項(xiàng)目施工、運(yùn)營(yíng)及市場(chǎng)調(diào)研合同
- 葡萄酒品鑒會(huì)場(chǎng)地安保與合同服務(wù)協(xié)議
- 基礎(chǔ)設(shè)施建設(shè)項(xiàng)目法律認(rèn)證補(bǔ)充服務(wù)協(xié)議
- 養(yǎng)老院護(hù)理員培訓(xùn)制度
- 無(wú)人機(jī)組裝與調(diào)試 課件 項(xiàng)目一 多旋翼無(wú)人機(jī)組裝調(diào)試
- 公司安全生產(chǎn)事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)工作制度
- 建行金融生態(tài)圈
- 安全評(píng)估標(biāo)準(zhǔn)
- 2025新人教版英語(yǔ)七年級(jí)下單詞默寫(xiě)單
- DB 31T 1501-2024 綠色融資租賃項(xiàng)目認(rèn)定規(guī)則 上海市市場(chǎng)監(jiān)督管理局
- Unit1-3(單元測(cè)試)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 黑龍江省既有建筑改造工程消防設(shè)計(jì)指南(2024年版)
- 多尺度圖像分析
- 4.4.7.3 跟蹤出站調(diào)車(chē)作業(yè)課件講解
評(píng)論
0/150
提交評(píng)論