Sqoop進階及HiveHbase相關(guān)知識介紹_第1頁
Sqoop進階及HiveHbase相關(guān)知識介紹_第2頁
Sqoop進階及HiveHbase相關(guān)知識介紹_第3頁
Sqoop進階及HiveHbase相關(guān)知識介紹_第4頁
Sqoop進階及HiveHbase相關(guān)知識介紹_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、hadoopsqoop進階及進階及hive、hbase相關(guān)知識介紹相關(guān)知識介紹 q sqoop增量導(dǎo)入q hive內(nèi)部表和外部表qhbase概述qhbase安裝說明qhbase簡單命令課程目標(biāo)課程目標(biāo)sqoopsqoop增量導(dǎo)入(增量導(dǎo)入(1 1)q sqoop支持兩種增量導(dǎo)入模式,q -check-column (col) 檢查指定的列,根據(jù)此列判斷哪些記錄是新數(shù)據(jù)且需要導(dǎo)入的,列不能是字符相關(guān)類型(char/nchar/varchar/varnchar/ longvarchar/longnvarchar)q -incremental (mode) 指定增量模式,mode包含兩種方式:app

2、end和lastmodifiedq append: 當(dāng)表中的記錄是以id持續(xù)增加導(dǎo)入新的記錄的時候,可以使用append模式,-check-column id 用于檢查idq lastmodified: 表有時候也會執(zhí)行更新操作,此時可以使用lastmodified導(dǎo)入q -last-value (value): 指定某個值,將大于該值的檢查列記錄導(dǎo)入,以確定僅將新的或者更新后的記錄導(dǎo)入新的文件系統(tǒng)sqoopsqoop增量導(dǎo)入(增量導(dǎo)入(2 2)q 一般情況下,-check-column是數(shù)據(jù)庫中的關(guān)鍵字,以此來判斷哪些列是新增數(shù)據(jù)。q -incremental 增量導(dǎo)入模式分為兩種:appe

3、nd和lastmodified。q -last-value 后面接的值一般是上一次導(dǎo)入操作后指定列的最大值,便于sqoop將此最大值后新增的值導(dǎo)入。 sqoopsqoop增量導(dǎo)入(增量導(dǎo)入(3 3)q 使用append模式,增量導(dǎo)入。q sqoop import -connect jdbc:mysql:/192.168.1.43:3306/helloworld -username hive -password 123456 -table test2 -check-column id -incremental append -last-value 3 -target-dir /user/test

4、/0000_0q 此處我們-check-column 后接關(guān)鍵字列id,作為檢查列,增量導(dǎo)入模式為-incremental appendsqoopsqoop增量導(dǎo)入(增量導(dǎo)入(4 4)q 使用lastmodified增量導(dǎo)入,指定列-check-column后面需要接的是一個時間戳列,然后再使用-last-value后接最近的一個時間,以此實現(xiàn)修改操作的導(dǎo)入。此處不詳細(xì)介紹。q 注意:不管是使用哪種模式導(dǎo)入,-check-column、-incremental和-last-value三個參數(shù)在命令中都必須同時使用。hivehive內(nèi)部表與外部表(內(nèi)部表與外部表(1 1)q 創(chuàng)建一張內(nèi)部表cre

5、ate table innertable(id int,name string) row format delimited fields terminated by t stored as textfile;q 導(dǎo)入數(shù)據(jù)load data local inpath /home/hadoop/temp/aa.txt into table innertable;hivehive內(nèi)部表與外部表(內(nèi)部表與外部表(2 2)q 創(chuàng)建一張外部表create external table extertable(id int,name string) row format delimited fields te

6、rminated by t stored as textfile location /user/hellowrold;q 導(dǎo)入數(shù)據(jù)load data local inpath /home/hadoop/temp/aa.txt into table extertable;q 創(chuàng)建外部表,需要在創(chuàng)建表的時候加上external關(guān)鍵字,同時指定外部表存放數(shù)據(jù)的路徑/user/hellowrold;hivehive內(nèi)部表與外部表(內(nèi)部表與外部表(3 3)q 刪除內(nèi)部表drop table innertableq 導(dǎo)入數(shù)據(jù)drop table extertable;q 刪除外部表的時候,數(shù)據(jù)并沒有被刪除

7、,這是和刪除表的數(shù)據(jù)完全不一樣的hivehive內(nèi)部表與外部表(內(nèi)部表與外部表(4 4)q hive中表與外部表的區(qū)別:q 1、在導(dǎo)入數(shù)據(jù)到外部表,數(shù)據(jù)并沒有移動到自己的數(shù)據(jù)倉庫目錄下,也就是說外部表中的數(shù)據(jù)并不是由它自己來管理的!而表則不一樣;q 2、在刪除表的時候,hive將會把屬于表的元數(shù)據(jù)和數(shù)據(jù)全部刪掉;而刪除外部表的時候,hive僅僅刪除外部表的元數(shù)據(jù),數(shù)據(jù)是不會刪除的!hbasehbase簡介簡介q hbase是bigtable的開源clone。是建立的hdfs之上,提供高可靠性、高性能、列存儲、可伸縮、實時讀寫的數(shù)據(jù)庫系統(tǒng)。q 它介于nosql和rdbms之間,僅能通過主鍵(ro

8、w key)和主鍵的range來檢索數(shù)據(jù),僅支持單行事務(wù)(可通過hive支持來實現(xiàn)多表join等復(fù)雜操作)。主要用來存儲非結(jié)構(gòu)化和半結(jié)構(gòu)化的松散數(shù)據(jù)。q 與hadoop一樣,hbase目標(biāo)主要依靠橫向擴展,通過不斷增加廉價的商用服務(wù)器,來增加計算和存儲能力。hbasehbase簡介簡介q 首先我們來看看兩個概念,面向行存儲和面向列存儲。面向行存儲,我們熟悉的rdbms就是此種類型的,面向行存儲的數(shù)據(jù)庫主要適合于事務(wù)性要求嚴(yán)格場合,或者說面向行存儲的存儲系統(tǒng)適合oltp,但是根據(jù)cap理論,傳統(tǒng)的rdbms,為了實現(xiàn)強一致性,通過嚴(yán)格的acid事務(wù)來進行同步,這就造成了系統(tǒng)的可用性和伸縮性方面大

9、大折扣,而目前的很多nosql產(chǎn)品,包括hbase,它們都是一種最終一致性的系統(tǒng),它們?yōu)榱烁叩目捎眯誀奚艘徊糠值囊恢滦浴 hbase是一個面向列存儲的分布式存儲系統(tǒng),它的優(yōu)點在于可以實現(xiàn)高性能的并發(fā)讀寫操作,同時hbase還會對數(shù)據(jù)進行透明的切分,這樣就使得存儲本身具有了水平伸縮性。hbasehbase簡介簡介q 在hbase里面有以下兩個主要的概念,row key,column family,我們首先來看看column family,column family中文又名“列族”,column family是在系統(tǒng)啟動之前預(yù)先定義好的,每一個column family都可以根據(jù)“限定符”有多

10、個column。q 假如系統(tǒng)中有一個user表,如果按照傳統(tǒng)的rdbms的話,user表中的列是固定的,比如schema 定義了name,age,sex等屬性,user的屬性是不能動態(tài)增加的。但是如果采用列存儲系統(tǒng),比如hbase,那么我們可以定義user表,然后定義info 列族,user的數(shù)據(jù)可以分為:info:name = zhangsan,info:age=30,info:sex=male等,如果后來你又想增加另外的屬性,這樣很方便只需要info:newproperty就可以了。row key可以理解為rdbms中的某一個行的主鍵,但是因為hbase不支持條件查詢以及order by等

11、查詢,因此row key的設(shè)計就要根據(jù)你系統(tǒng)的查詢需求來設(shè)計hbasehbase簡介簡介q hbase的優(yōu)點 q 1 列的可以動態(tài)增加,并且列為空就不存儲數(shù)據(jù),節(jié)省存儲空間.q 2 hbase自動切分?jǐn)?shù)據(jù),使得數(shù)據(jù)存儲自動具有水平scalability.q 3 hbase可以提供高并發(fā)讀寫操作的支持q hbase的缺點:q 1 不能支持條件查詢,只支持按照row key來查詢.q 2 暫時不能支持master server的故障切換,當(dāng)master宕機后,整個存儲系統(tǒng)就會掛掉.hbasehbase安裝(安裝(1 1)q 安裝的前提條件是已經(jīng)成功安裝了hadoopq 安裝版本hbase-0.98.9-hadoop2-bin.tar.gzq 解壓文件tar xzvf hbase-0.98.9-hadoop2-bin.tar.gzq 修改hbase下的conf目錄下的配置文件hbase-env.shhbasehbase安裝(安裝(2 2)q 修改hbase-site.xml文件hbasehbase安裝(安裝(3 3)q 啟動hbase:start-hbase.shq jps 查看hbasehbase命令命令q 以

溫馨提示

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

評論

0/150

提交評論