版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據轉換工具sqoop1. SqoopSqoop工具介紹 Sqoop Sqoop是Apache頂級項目,主要用來在Hadoop和關系數(shù)據庫中傳遞數(shù)據。通過sqoop,我們可以方便的將數(shù)據從關系數(shù)據庫導入到HDFS,或者將數(shù)據從HDFS導出到關系數(shù)據庫。 sqoop主要通過JDBC和關系數(shù)據庫進行交互,理論上支持JDBC的database都可以使用sqoop。1.1 Sqoop介紹:兼容數(shù)據庫 Sqoop主要通過mapreduce把數(shù)據從關系型數(shù)據庫中導入數(shù)據到HDFS,目前測試兼容的數(shù)據庫。 對oracle數(shù)據庫的處理,復制jdbc驅動ojdbc6.jar 到sqoop的lib目錄即可。數(shù)據庫
2、數(shù)據庫版本支持版本支持直接支持直接支持MySQL5.0+YesOracle10.2.0+NoPostgreSQL8.3+(只支持導入)YesHSQLDB1.8.0+NoTeradata13.0+No1.2 工作原理:總體架構1.2 工作原理: 工作流程(1) Sqoop架構非常簡單,其整合了Hive、Hbase和Oozie,通過map-reduce任務來傳輸數(shù)據,從而提供并發(fā)特性和容錯。 Sqoop可以通過命令行先創(chuàng)建一個任務名,并描述該任務的導入或者導出工作,然后執(zhí)行即可。其主要工作流程如下:1.讀取要導入數(shù)據的表結構,生成運行類,默認是QueryResult,打成jar包,然后提交給Had
3、oop;1.2 工作原理: 工作流程(2)2.設置好mapreduce的job,主要包括如下參數(shù): (1) InputFormatClass : 設置輸入格式; (2) OutputFormatClass: 設置輸出格式,包括:文本、SequenceFile和AvroDataFile三種格式; (3) Mapper: 設置執(zhí)行mapreduce任務的mapper類; (4) taskNumbers: 設置執(zhí)行mapreduce的并行任務數(shù)。1.2 工作原理: 工作流程(3) 3. 由Hadoop來執(zhí)行MapReduce任務完成Import工作: 1)首先要對數(shù)據進行切分,記錄劃分范圍并讀??;
4、2)然后創(chuàng)建RecordReader從數(shù)據庫中讀取數(shù)據; 3)創(chuàng)建Map,RecordReader一行一行從關系型數(shù)據庫中讀取數(shù)據,設置好Map的Key和Value; 4)運行map。1.3 數(shù)據導入Import特性1.支持文本文件、avro、SequenceFiles格式, 默認為文本。2.支持數(shù)據追加,通過apend指定。3.支持table列選取(column),支持數(shù)據選取(where、 join)。4.支持map任務數(shù)定制和數(shù)據壓縮。 5. 提供參數(shù)將關系數(shù)據庫中的數(shù)據導入到HBase ,導入HBase分二部:1)導入數(shù)據到HDFS; 2)調用HBase put操作逐行將數(shù)據寫入表。1
5、.4 數(shù)據導出Export特性1. 支持將數(shù)據導出到表(table)或者調用存儲過程(call)。2. 支持insert、update模式。3. 支持并發(fā)控制。1.5 增量備份(1) 一般情況下,關系數(shù)據表存在于線上環(huán)境的備份環(huán)境,需要每天進行數(shù)據導入。如果數(shù)據表較大,我們通常不可能每次都進行全表的導入,而sqoop提供了增量導入數(shù)據的機制。 控制增量導入主要由三個參數(shù)控制: -check-column (col):表明當判斷哪些行要被導入時需要檢查的列; -incremental (mode):表明Sqoop是如何判斷哪些行是新的,mode主要包括append(增量)和lastmodifie
6、d(上次備份后修改過的)兩個模式; -last-value (value):表明上次導入之后check-column(被檢查列)的最大值(已排序的)。 1.5 增量備份(2) 還有一個問題,每天導入時last value值都不一樣,如何做到每天動態(tài)的讀取新的last value呢?這點sqoop也想到了,sqoop支持把一條sqoop命令變?yōu)橐粋€job查找最新的last value,然后自動地更換last value的值。 我們只要設置一個每天增量導出任務和一個定期的全表導出任務,用腳本定時執(zhí)行兩個任務即可完成數(shù)據庫數(shù)據的轉換工作了。 1.6 Sqoop性能 原生Sqoop導出到HDFS速度為2.8MB/s左右。 此外Sqoop還有很多第三方的插件,比如Quest開發(fā)的OraOop插件來提高導入導出速度。 測試環(huán)境如下:一臺只有700m內存的,IO低下的oracle數(shù)據庫,百兆的網絡,使用Quest的Sqoop插件設置為4個并行度。從orcale導出到HDFS速度達到了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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 壓力容器異種鋼接頭焊縫殘余應力分布研究
- 2024路燈照明系統(tǒng)供貨及安裝服務合同范本2篇
- 2025年度木材行業(yè)人才培養(yǎng)與職業(yè)培訓合同3篇
- 二零二五年度網絡安全供應商采購服務協(xié)議3篇
- 《橫向埋弧自動焊擺動跟蹤系統(tǒng)研究》
- 小學生思維拓展的數(shù)學課課件應用策略
- 二零二五年度梅縣區(qū)交通運輸局交通運輸車輛保險合同3篇
- 《我國政策性銀行績效評價指標體系的構建》
- 二零二五年度快艇改裝與維修服務合同書3篇
- 小學數(shù)學教學設計的心理學應用
- 新概念英語第4冊課文(中英文對照)
- 七年級數(shù)學上冊專題18 一元一次方程有整數(shù)解(解析版)
- 梁山伯與祝英臺小提琴譜樂譜
- 酒店安全生產責任制
- 漢字文化解密學習通超星課后章節(jié)答案期末考試題庫2023年
- 福建地理概況課件
- 單體澆鑄尼龍
- 供應鏈金融大數(shù)據平臺商業(yè)計劃書課件
- 企業(yè)內部審計報告范文10篇
- GB/T 24476-2023電梯物聯(lián)網企業(yè)應用平臺基本要求
- 管線探測技術介紹
評論
0/150
提交評論