hadoop應(yīng)用16.第周關(guān)于sqoop_第1頁
hadoop應(yīng)用16.第周關(guān)于sqoop_第2頁
hadoop應(yīng)用16.第周關(guān)于sqoop_第3頁
hadoop應(yīng)用16.第周關(guān)于sqoop_第4頁
hadoop應(yīng)用16.第周關(guān)于sqoop_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、關(guān)于Sqoop課程內(nèi)容Sqoop簡介Sqoop原理Sqoop命令Sqoop實(shí)戰(zhàn)2/51什么是Sqoop3/51問題教學(xué)評估系統(tǒng)里面存儲(chǔ)了學(xué)生課程評估記錄,數(shù)據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫中,我想知道這20年以來學(xué)習(xí)最優(yōu)秀的100名同學(xué),我該怎么做?4/51問題我已經(jīng)分析出了最優(yōu)秀的100名同學(xué),我希望在我的網(wǎng)站上公布出來,我應(yīng)該如何做。5/51什么是SqoopSqoop是一個(gè)在結(jié)構(gòu)化數(shù)據(jù)和Hadoop(HDFS、Hive、HBase)之間進(jìn)行批量數(shù)據(jù)遷移的工具,結(jié)構(gòu)化數(shù)據(jù)可以是MySQL、Oracle等RDBMS。Sqoop底層用MapReduce程序?qū)崿F(xiàn)抽取、轉(zhuǎn)換、加載,MapReduce天生的特

2、性保證了并行化和高容錯(cuò)率任務(wù)運(yùn)行在Hadoop集群上,在特定場景下,抽取過程會(huì)有很大的性能提升。6/51什么是Sqoop7/51導(dǎo)入示例8/51導(dǎo)入示例9/51導(dǎo)入示例10/51導(dǎo)入示例11/51課程內(nèi)容Sqoop簡介Sqoop原理Sqoop命令Sqoop實(shí)戰(zhàn)12/51導(dǎo)入13/51導(dǎo)入原理在導(dǎo)入開始之前,Sqoop使用JDBC來檢查將要導(dǎo)入的表。他檢索出表中所有的列以及列的SQL數(shù)據(jù)類型。SQL類型(VARCHAR、INTEGER)被映射到Java數(shù)據(jù)類型(String、Integer等),在MapReduce應(yīng)用中將使用這些對應(yīng)的java類型來保存字段的值Sqoop的代碼生成器使用這些信息

3、來創(chuàng)建對應(yīng)表的類,用于保存從表中抽取的記錄14/51導(dǎo)入Sqoop配置InputFormat, DataDriverDBInputFormat 可以通過JDBC從一個(gè)數(shù)據(jù)庫表中讀取部分內(nèi)容,能夠?yàn)閹讉€(gè)Map任務(wù)劃分查詢結(jié)果。 Sqoop將作業(yè)發(fā)送到MapReduce集群。Map任務(wù)將執(zhí)行查詢并將ResultSet中的數(shù)據(jù)反序列化、數(shù)據(jù)直接保存在SequenceFile文件中,或者被轉(zhuǎn)換成分割的文本。15/51導(dǎo)入一致性在向HDFS導(dǎo)入數(shù)據(jù)時(shí),重要的是要確保訪問的是數(shù)據(jù)源的一致性快照。從數(shù)據(jù)庫中并行讀取數(shù)據(jù)的map任務(wù)時(shí),保證一致性的最好方法就是在導(dǎo)入時(shí)不允許運(yùn)行任何對表中現(xiàn)有數(shù)據(jù)更新的操作。1

4、6/51導(dǎo)入分片Sqoop并行化是啟動(dòng)多個(gè)map task實(shí)現(xiàn)的,-m(或-num-mappers)參數(shù)指定map task數(shù),默認(rèn)是4個(gè)。并行度不是設(shè)置的越大越好,map task的啟動(dòng)和銷毀都會(huì)消耗資源,而且過多的數(shù)據(jù)庫連接對數(shù)據(jù)庫也會(huì)造成壓力。在并行操作里,要解決輸入數(shù)據(jù)是以什么方式負(fù)債均衡到多個(gè)map的,即怎么保證每個(gè)map處理的數(shù)據(jù)量大致相同且數(shù)據(jù)不重復(fù)。-split-by指定了split column,以什么列split數(shù)據(jù),通常是主鍵17/51導(dǎo)出18/51導(dǎo)出根據(jù)數(shù)據(jù)庫連接獲取元數(shù)據(jù)根據(jù)目標(biāo)表的定義生成一個(gè)java類。這個(gè)類能夠從文本文件中解析記錄,并能夠向表中插入類型合適的值

5、。啟動(dòng)一個(gè)MapReduce作業(yè),從HDFS中讀取源數(shù)據(jù)文件,使用生成的類解析記錄,執(zhí)行導(dǎo)出。19/51導(dǎo)出基于jdbc的導(dǎo)出方法會(huì)產(chǎn)生一批insert語句,每條語句都會(huì)向目標(biāo)表中插入多條記錄。多個(gè)單獨(dú)的線程被用于從HDFS讀取數(shù)據(jù)并與數(shù)據(jù)庫進(jìn)行通信HDFS讀取數(shù)據(jù)的MapReduce作業(yè)大多根據(jù)所處理文件的數(shù)量和大小來選擇并行度(map任務(wù)的數(shù)量),Sqoop的導(dǎo)出工具允許用戶設(shè)定任務(wù)的數(shù)量。20/51課程內(nèi)容Sqoop簡介Sqoop原理Sqoop命令Sqoop實(shí)戰(zhàn)21/51Sqoop命令22/51Sqoop 導(dǎo)入23/51Sqoop 導(dǎo)入24/51Sqoop 導(dǎo)出25/51課程內(nèi)容Sqoop簡介Sqoop原理Sqoop命令Sqoop實(shí)戰(zhàn)26/51Sqoop實(shí)戰(zhàn)Sqoop

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論