23show大數(shù)據(jù)與hbase實(shí)踐_第1頁
23show大數(shù)據(jù)與hbase實(shí)踐_第2頁
23show大數(shù)據(jù)與hbase實(shí)踐_第3頁
23show大數(shù)據(jù)與hbase實(shí)踐_第4頁
23show大數(shù)據(jù)與hbase實(shí)踐_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

大數(shù)據(jù)與hbase運(yùn)用

關(guān)于hadoop與hbase的引見和開發(fā)運(yùn)用周勇沂2021年10月16日目錄2大數(shù)據(jù)與HADOOP引見1HDFS引見2Hbase引見3Hbase運(yùn)用431、WINDOWS進(jìn)程間通訊方式

第一章大數(shù)據(jù)與HADOOP引見第一章HADOOP引見41、大數(shù)據(jù)的背景與定義日益信息化的時(shí)代5大數(shù)據(jù)的定義與特征“Bigdataisdatathatexceedstheprocessingcapacityofconventionaldatabasesystems〞O’ReillyRadar,“WhatIsBigData?〞,January2021所謂大數(shù)據(jù),就是用現(xiàn)有的普通技術(shù)難以管理的大量數(shù)據(jù)的集合----野村綜合研討所大數(shù)據(jù)順應(yīng)大規(guī)模信息化到新階段而誕生的數(shù)據(jù)庫革命性運(yùn)動NoSQL(NoSQL=NotOnlySQL)不同的NoSQL場景不同,可比性不高原那么:解放思想,現(xiàn)實(shí)求是6巨量GBTBPBEBDaily~Historical種類多WebAPPSocialNetworkEmail…半結(jié)構(gòu)XMLLogClickstreamxDR…實(shí)時(shí)Real-timeNearreal-time大數(shù)據(jù)的挑戰(zhàn)7※一個(gè)關(guān)系型數(shù)據(jù)庫的表數(shù)據(jù)量上億時(shí)★分區(qū)★分表★分庫※導(dǎo)致上層復(fù)雜度提高,本錢倍增IO天花板,非線性單機(jī)計(jì)算大數(shù)據(jù)對系統(tǒng)的需求★Highperformance–高并發(fā)讀寫的需求 高并發(fā)、實(shí)時(shí)動態(tài)獲取和更新數(shù)據(jù)★HugeStorage–海量數(shù)據(jù)的高效率存儲和訪問的需求 類似SNS社會性網(wǎng)絡(luò)效力網(wǎng)站,海量用戶信息的高效率實(shí)時(shí)存儲和查詢★HighScalability&&HighAvailability–高可擴(kuò)展性和高可用性的需求 需求擁有快速橫向擴(kuò)展才干、提供7*24小時(shí)不延續(xù)效力8第一章HADOOP引見92、HADOOP來源和特點(diǎn)Hadoop的創(chuàng)建和演進(jìn)10谷歌三大論文

GFS(2003) SanjayGhemawat(美國工程院士) (GFS,MR,Bigtable) HowardGobioff Shun-TakLeung

map/reduce(2004) DeanJeffrey(美國工程院士)

(Adsense,pb,News,Codesearch) SanjayGhemawat

Bigtable(2006) FayChang DeanJeffrey

SanjayGhemawat...DougCutting和YahooLucene->Nutch->Hadoop大數(shù)據(jù)主要運(yùn)用技術(shù)——Hadoop可擴(kuò)展:不論是存儲的可擴(kuò)展還是計(jì)算的可擴(kuò)展都是Hadoop的設(shè)計(jì)根本。經(jīng)濟(jì):框架可以運(yùn)轉(zhuǎn)在任何普通的PC上??煽浚悍植际轿募到y(tǒng)的備份恢復(fù)機(jī)制以及MapReduce的義務(wù)監(jiān)控保證了分布式處置的可靠性。高效:分布式文件系統(tǒng)的高效數(shù)據(jù)交互實(shí)現(xiàn)以及MapReduce結(jié)合LocalData處置的方式,為高效處置海量的信息作了根底預(yù)備11大數(shù)據(jù)主要運(yùn)用技術(shù)——Hadoop

Hadoop作為新一代的架構(gòu)和技術(shù),由于有利于并行分布處置“大數(shù)據(jù)〞而備受注重。ApacheHadoop是一個(gè)用java言語實(shí)現(xiàn)的軟件框架,在由大量計(jì)算機(jī)組成的集群中運(yùn)轉(zhuǎn)海量數(shù)據(jù)的分布式計(jì)算,它可以讓運(yùn)用程序支持上千個(gè)節(jié)點(diǎn)和PB級別的數(shù)據(jù)。Hadoop是工程的總稱,主要是由分布式存儲〔HDFS〕、分布式計(jì)算〔MapReduce〕等組成12Hadoop處理了什么難題?13簡單地想想看,假設(shè)我們需求讀一個(gè)10TB的數(shù)據(jù)集,怎樣辦?在傳統(tǒng)的系統(tǒng)上,這需求很長時(shí)間,由于硬盤的傳輸速度是受限的。一個(gè)簡單的方法是將數(shù)據(jù)存儲在多個(gè)磁盤上,同時(shí)從多個(gè)磁盤并行讀取數(shù)據(jù),這將大大減少讀取時(shí)間Hadoop的根本概念14分布式存儲HDFS 文件分塊 自行備份分布式計(jì)算Map/Reduce 函數(shù)式設(shè)計(jì)〔map/reduce〕第一章HADOOP引見153、MapReduceHadoop處理了什么難題?16化整為零,分片處置;本地化計(jì)算,并行IO,降低網(wǎng)絡(luò)通訊MapReduce——映射、化簡編程模型171.根據(jù)輸入數(shù)據(jù)的大小和參數(shù)的設(shè)置把數(shù)據(jù)分成splits,每個(gè)split對于一個(gè)map線程。2.Split中的數(shù)據(jù)作為Map的輸入,Map的輸出一定在Map端。3.Map的輸出到Reduce的輸入的過程(shuffle過程): 第一階段:在map端完成內(nèi)存->排序->寫入磁盤->復(fù)制第二階段:在reduce端完成映射到reduce端分區(qū)->合并->排序4.Reduce的輸入到Reduce的輸出最后排好序的key/value作為Reduce的輸入,輸出不一定是在reduce端。MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算。Map〔映射〕和Reduce〔化簡〕,采用分而治之思想,先把義務(wù)分發(fā)到集群多個(gè)節(jié)點(diǎn)上,并行計(jì)算,然后再把計(jì)算結(jié)果合并,從而得到最終計(jì)算結(jié)果。多節(jié)點(diǎn)計(jì)算,所涉及的義務(wù)調(diào)度、負(fù)載平衡、容錯(cuò)處置等,都由MapReduce框架完成,不需求編程人員關(guān)懷這些內(nèi)容。181、WINDOWS進(jìn)程間通訊方式

第二章HDFS引見HDFS—分布式文件系統(tǒng)

19NameNode 可以看作是分布式文件系統(tǒng)中的管理者,存儲文件系統(tǒng)的meta-data,主要擔(dān)任管理文件系統(tǒng)的命名空間,集群配置信息,存儲塊的復(fù)制。DataNode 是文件存儲的根本單元。它存儲文件塊在本地文件系統(tǒng)中,保管了文件塊的meta-data,同時(shí)周期性的發(fā)送一切存在的文件塊的報(bào)告給NameNode。Client 就是需求獲取分布式文件系統(tǒng)文件的運(yùn)用程序。

HDFS是一個(gè)高度容錯(cuò)性的分布式文件系統(tǒng),能提供高吞吐量的數(shù)據(jù)訪問,非常適宜大規(guī)模數(shù)據(jù)集上的運(yùn)用。HDFS特點(diǎn)

20★可擴(kuò)展,只需添加效力器★強(qiáng)壯性,高度容錯(cuò)性,文件刪除恢復(fù)機(jī)制★機(jī)架感知★數(shù)據(jù)冗余,副本機(jī)制★負(fù)載平衡★適宜流式訪問,一次寫入,多次讀取★默許塊大小64MB,適宜PB級以上數(shù)據(jù)的存儲和處置★MapReduce分布式計(jì)算框架,利用存儲節(jié)點(diǎn)的CPU資源HDFS優(yōu)缺陷

21HDFS優(yōu)點(diǎn):★適宜大數(shù)據(jù)處置〔支持GB,TB,PB級別的數(shù)據(jù)存儲,支持百萬規(guī)模以上的文件數(shù)量〕★適宜批處置〔支持離線的批量數(shù)據(jù)處置,支持高吞吐率〕★高容錯(cuò)性〔以數(shù)據(jù)塊存儲,可以保管多個(gè)副本,容易實(shí)現(xiàn)負(fù)載平衡〕HDFS缺陷:★小文件存取〔占用namenode大量內(nèi)存〕,1百萬個(gè)文件,至少300M內(nèi)存★不支持并發(fā)寫入〔同一時(shí)辰只能有一個(gè)進(jìn)程寫入,不支持隨機(jī)修正〕★多用戶寫入,恣意修正文件★低延時(shí)〔幾十毫秒〕,它是為高數(shù)據(jù)吞吐量設(shè)計(jì)的HDFS—分布式文件系統(tǒng)

22HDFS架構(gòu)分析HDFS—分布式文件系統(tǒng)

23HDFS—分布式文件系統(tǒng)

24HDFS文件讀取流程HDFS—分布式文件系統(tǒng)

25文件寫入流程

261、WINDOWS進(jìn)程間通訊方式

第二章HBASE的引見Hbase簡介27★來源于FayChang所撰寫的Google論文“Bigtable〞★HBase–HadoopDatabase分布式存儲系統(tǒng)★高可靠性★高性能★面向列★可伸縮★可在廉價(jià)PCServer上搭建Hadoo生態(tài)環(huán)境28底層HDFS為HBase提供了可靠的文件存儲MapReduce為它提供了高性能的計(jì)算Pig和Hive提供了HBase的查詢功能,Hive提供的方法類似與SQL語句Sqoop提供了Hbase與關(guān)系數(shù)據(jù)庫的導(dǎo)入導(dǎo)出功能Zookeeper提供了協(xié)調(diào)以及failover功能.Hbase架構(gòu)291商品目錄就是一張大表(Bigtable),由商品編號(key)和裝商品的木箱(ColumnFamily列族)組成。2一個(gè)編號下商品(如某輛單車的零件),最好只用一種規(guī)格箱子就裝完,但某些零件大小差別過大,不得不運(yùn)用多種箱子(多個(gè)列族)3此大型超市總部(HMaster)以樓層為租賃的根本單位,每層成為一個(gè)銷售分區(qū)(HRegion)。此大型超市租用了好多棟分布在全球各地的購物大樓(HRegionserver),并托管了商品的存儲和搬運(yùn)。超市總部(HMaster)雖然理到銷售分區(qū)(HRegion),并記錄在一張地址本上(放在內(nèi)存上)4每層樓銷售分區(qū)(HRegion)都放一定范圍編號的商品,假設(shè)這個(gè)范圍編號的商品過多了,就會再租多一層樓來存儲〔分裂〕HBase架構(gòu)304,購物大樓(HRegionserver)只需一個(gè)大門口擔(dān)任登記人員進(jìn)出(Hlog);進(jìn)門后可以通往各個(gè)層樓,每個(gè)樓層就是一個(gè)銷售分區(qū)(HRegion)5,關(guān)于一個(gè)銷售分區(qū)(Hregion)a,每層樓根據(jù)商品木箱(列族ColumnFamily)的規(guī)格多少,分為多個(gè)專賣店(Store)b,每個(gè)專賣店(Sotre),由促銷倉(放內(nèi)存上的Memstore)和0個(gè)或多個(gè)普通倉(放hfile上的Sotrefile)組成HRegionServer入庫過程簡介31Hstore分流簡介32Client寫入->存入MemStore,不斷到MemStore滿->Flush成一個(gè)StoreFile,直至增長到一定閾值->出發(fā)Compact合并操作->多個(gè)StoreFile合并成一個(gè)StoreFile,同時(shí)進(jìn)展版本合并和數(shù)據(jù)刪除->當(dāng)StoreFilesCompact后,逐漸構(gòu)成越來越大的StoreFile->單個(gè)StoreFile大小超越一定閾值后,觸發(fā)Split操作,把當(dāng)前RegionSplit成2個(gè)Region,Region會下線,新Split出的2個(gè)孩子Region會被HMaster分配到相應(yīng)的HRegionServer上,使得原先1個(gè)Region的壓力得以分流到2個(gè)Region上hfile文件格式33hfile文件由6部分組成:datablock,metablock(可選),fileinfo,datablockindex,metablockindex,trailer。datablock存儲了表數(shù)據(jù),metablock存儲了布隆過濾器索引數(shù)據(jù),fileinfo存儲了本文件的相關(guān)信息,index存儲了datablock和metablock的索引數(shù)據(jù),trailer存儲了本文件的相關(guān)信息。341、WINDOWS進(jìn)程間通訊方式

第三章HBASE的運(yùn)用HBaseShell35名稱命令表達(dá)式創(chuàng)建表create'表名稱','列名稱1','列名稱2','列名稱N'添加記錄put'表名稱','行名稱','列名稱:','值'查看記錄get'表名稱','行名稱'查看表中的記錄總數(shù)count'表名稱'刪除記錄delete'表名','行名稱','列名稱'刪除一張表先要屏蔽該表,才能對該表進(jìn)行刪除,第一步disable'表名稱'第二步drop'表名稱'查看所有記錄scan"表名稱"查看某個(gè)表某個(gè)列中所有數(shù)據(jù)scan"表名稱",['列名稱:']更新記錄就是重寫一遍進(jìn)行覆蓋Hbase編程36封裝好的HbaseDAO例子importcom.etrans.lib.db.hbase.dao.TrackDaoImpl;privateGpsTrackvo=newGpsTrack();★方式一TrackDaoImpltrackDao=newTrackDaoImpl();trackDao.openTable(false,1024*1024*32);trackDao.insert(vo);//增、改為同一接口trackDao.list(startKey,endKey,selectedColSet,filter);trackDao.closeTable();trackDao=null;★方式二TrackDaoImpltrackDao=newTrackDaoImpl();trackDao.insert(vo);trackDao.list(startKey,endKey,selectedColSet,filter);trackDao=null;Hbase編程37※TrackDaoImpl操作對象如何初始化★初始化表名StringCONST_TABLE_NAME=“track";★對象與hbase表字段映射關(guān)系@OverridepublicvoidinitSchema(){ addHbaseCol(newHbaseCol("artistName","an")); addHbaseCol(newHbaseCol("year","ye",true)); addHbaseCol(newHbaseCol("downCount","dc",HbaseColType.LONG));}★如何生成rowkey@

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論