大數(shù)據(jù)平臺(tái)介紹_第1頁
大數(shù)據(jù)平臺(tái)介紹_第2頁
大數(shù)據(jù)平臺(tái)介紹_第3頁
大數(shù)據(jù)平臺(tái)介紹_第4頁
大數(shù)據(jù)平臺(tái)介紹_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

大數(shù)據(jù)平臺(tái)介紹大數(shù)據(jù)二零一五年七月2021/6/2012目錄Hadoop大數(shù)據(jù)生態(tài)圈介紹大數(shù)據(jù)應(yīng)用介紹3Cloudera

Manager介紹Hadoop大數(shù)據(jù)生態(tài)圈2021/6/20HDFS為海量的數(shù)據(jù)提供了存儲(chǔ),MapReduce為海量的數(shù)據(jù)提供了計(jì)算。Hive定義了一種類似SQL的查詢語言(HQL),將SQL轉(zhuǎn)化為MapReduce任務(wù)在Hadoop上執(zhí)行。hive是基于Hadoop的大型數(shù)據(jù)倉庫(Data

Warehouse),其目標(biāo)是簡化Hadoop上的數(shù)據(jù)聚集、即席查詢及大數(shù)據(jù)集的分析等操作;HBase是一個(gè)針對(duì)結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動(dòng)態(tài)模式數(shù)據(jù)庫,分布式存儲(chǔ)系統(tǒng)

Zookeeper((分分布布式式協(xié)協(xié)作作服服務(wù)務(wù)))它是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護(hù)、名字服務(wù)、分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶解決分布式環(huán)境下的數(shù)據(jù)管理問題:統(tǒng)一命名,狀態(tài)同步,集群管理,配置同步等。7、、Sqoop((數(shù)數(shù)據(jù)據(jù)同同步步工工具具))Sqoop是SQL-to-Hadoop的縮寫,主要用于傳統(tǒng)數(shù)據(jù)庫和Hadoop之前傳輸數(shù)據(jù)。數(shù)據(jù)的導(dǎo)入和導(dǎo)出本質(zhì)上是Mapreduce程序,充分利用了MR的并行化和容錯(cuò)性。8、、Pig((基基于于Hadoop的的數(shù)數(shù)據(jù)據(jù)流流系系統(tǒng)統(tǒng)))Pig是Yahoo!提出的類似于Hive的大數(shù)據(jù)集分析平臺(tái),它提供的類SQL語言叫PigLatin,一種基于操作符的數(shù)據(jù)流式的接口,該語言的編譯器會(huì)把類SQL的數(shù)據(jù)分析請(qǐng)求轉(zhuǎn)換為一系列經(jīng)過優(yōu)化處理的MapReduce運(yùn)算9、、Mahout((數(shù)數(shù)據(jù)據(jù)挖挖掘掘算算法法庫庫))Mahout的主要目標(biāo)是創(chuàng)建一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。Mahout現(xiàn)在已經(jīng)包含了聚類、分類、推薦引擎(協(xié)同過濾)和頻繁集挖掘等廣泛使用的數(shù)據(jù)挖掘方法。除了算法,Mahout還包含數(shù)據(jù)的輸入/輸出工具、與其他存儲(chǔ)系統(tǒng)(如數(shù)據(jù)庫、MongoDB

或Cassandra)集成等數(shù)據(jù)挖掘支持架構(gòu)。

Mahout

是一個(gè)很強(qiáng)大的數(shù)據(jù)挖掘工具,Mahout最大的優(yōu)點(diǎn)就是基于hadoop實(shí)現(xiàn),把很多以前運(yùn)行于單機(jī)上的算法,轉(zhuǎn)化為了MapReduce模式,這樣大大提升了算法可處理的數(shù)據(jù)量和處理性能。10、、Flume((日日志志收收集集工工具具))Cloudera開源的日志收集系統(tǒng),具有分布式、高可靠、高容錯(cuò)、易于定制和擴(kuò)展的特點(diǎn)。它將數(shù)據(jù)從產(chǎn)生、傳輸、處理并最終寫入目標(biāo)的路徑的過程抽象為數(shù)據(jù)流,在具體的數(shù)據(jù)流中,數(shù)據(jù)源支持在Flume中定制數(shù)據(jù)發(fā)送方,從而支持收集各種不同協(xié)議數(shù)據(jù)。同時(shí),F(xiàn)lume數(shù)據(jù)流提供對(duì)日志數(shù)據(jù)進(jìn)行簡單處理的能力,如過濾、格式轉(zhuǎn)換

等。此外,F(xiàn)lume還具有能夠?qū)⑷罩緦懲鞣N數(shù)據(jù)目標(biāo)(可定制)的能力。總的來說,F(xiàn)lume是一個(gè)可擴(kuò)展、適合復(fù)雜環(huán)境的海量日志收集系統(tǒng)。Hadoop生態(tài)圈Hadoop簡介

Hadoop一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開發(fā)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力高速運(yùn)算和存儲(chǔ)。簡單地說來,

Hadoop是一個(gè)可以更容易開發(fā)和運(yùn)行處理大規(guī)模數(shù)據(jù)的軟

件平臺(tái)。

Hadoop的框架最核心的設(shè)計(jì)就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲(chǔ),則MapReduce為海量的數(shù)據(jù)提供了計(jì)算。Hadoop能解決哪些問題海量數(shù)據(jù)需要及時(shí)分析和處理。海量數(shù)據(jù)需要深入分析和挖掘。數(shù)據(jù)需要長期保存問題:磁盤IO成為一種瓶頸,而非CPU資源。網(wǎng)絡(luò)帶寬是一種稀缺資源硬件故障成為影響穩(wěn)定的一大因素HDFS適應(yīng)條件HDFS:為以流式數(shù)據(jù)訪問模式存儲(chǔ)超大文件而設(shè)計(jì)的文件系統(tǒng)。流式數(shù)據(jù)訪問指的是幾百M(fèi)B,幾百GB,幾百TB,甚至幾百PB流式數(shù)據(jù)訪問HDFS建立的思想是:一次寫入、多次讀取模式是最高效的。商用硬件hadoop不需要運(yùn)行在昂貴并且高可靠的硬件上。HDFS不適應(yīng)條件低延遲數(shù)據(jù)訪問HDFS是為了達(dá)到高數(shù)據(jù)吞吐量而優(yōu)化的,這是以延遲為代價(jià)的,對(duì)于低延遲訪問,可以用Hbase(hadoop的子項(xiàng)目)。大量的小文件多用戶寫入,任意修改NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。HDFS基本單元

Block(塊):HDFS基本儲(chǔ)存單元,是個(gè)邏輯單元。一個(gè)文件有可能包含多個(gè)塊,一個(gè)塊有可以包含多個(gè)文件,由文件的大小和塊大小的參數(shù)決定。dfs.block.size參數(shù)。Hdfs中Block的大小,默認(rèn)64MB,如果設(shè)置大,就會(huì)有可能導(dǎo)致Map運(yùn)行慢,設(shè)置小,有可能導(dǎo)致Map個(gè)數(shù)多,所有一定要設(shè)置適當(dāng)。(目前主流機(jī)器建議設(shè)置為128M)

設(shè)置一個(gè)Block64MB,如果上傳文件小于該值,仍然會(huì)占用一個(gè)Block的命名空間(NameNode

metadata),但是物理存儲(chǔ)上不會(huì)占用64MB的空間

Block大小和副本數(shù)由Client端上傳文件到HDFS時(shí)設(shè)置,其中副本數(shù)可以變更,Block是不可以再上傳后變更的NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。HDFS處理機(jī)制

Client:切分文件;訪問HDFS;與NameNode交互,獲取文件位置信息;與DataNode交互,讀取和寫入數(shù)據(jù)。

NameNode:Master節(jié)點(diǎn),管理HDFS的名稱空間和數(shù)據(jù)塊映射信息,配置副本策略,處理客戶端請(qǐng)求。

DataNode:Slave節(jié)點(diǎn),存儲(chǔ)實(shí)際的數(shù)據(jù),匯報(bào)存儲(chǔ)信息給

NameNode。Secondary

NameNode:輔助NameNode,分擔(dān)其工作量;定期合并fsimage和fsedits,推送給NameNode;緊急情況下,可輔助恢復(fù)NameNode,但Secondary

NameNode并非NameNode的熱備NameNode主要功能提供名稱查詢服務(wù)DataNode通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。HDFS文件讀取NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。MapReduce簡介簡介

MapReduce是一個(gè)高性能的批處理分布式計(jì)算框架,用于對(duì)海量數(shù)據(jù)進(jìn)行并行分析和處理。MapReduce將分析任務(wù)分為大量的并行Map任務(wù)和Reduce任務(wù)兩類。

與傳統(tǒng)數(shù)據(jù)倉庫和分析技術(shù)相比,MapReduce適合處理各種類型的數(shù)據(jù),包括結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)

結(jié)構(gòu)化數(shù)據(jù)(即行數(shù)據(jù),存儲(chǔ)在數(shù)據(jù)庫里,可以用二維表結(jié)構(gòu)來邏輯表達(dá)實(shí)現(xiàn)的數(shù)據(jù))

不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù)即稱為非結(jié)構(gòu)化數(shù)據(jù)(包括所有格式的辦公文檔、文本、圖片、XML、HTML、各類報(bào)表、圖像和音頻/視頻信

息等等)

所謂半結(jié)構(gòu)化數(shù)據(jù),就是介于完全結(jié)構(gòu)化數(shù)據(jù)(如關(guān)系型數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫中的數(shù)據(jù))和完全無結(jié)構(gòu)的數(shù)據(jù)(如聲音、圖像文件等)之間的數(shù)據(jù),HTML文檔就屬于半結(jié)構(gòu)化數(shù)據(jù)。它一般是自描述的,數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容混在一起,沒有明顯的區(qū)分。NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。MapReduce簡介適合處理的任務(wù)適用于離線批處理任務(wù)

是以“行”為處理單位的,無法回溯已處理過的“行”,故每行都必須是一個(gè)獨(dú)立的語義單元,行與行之間不能有語義上的關(guān)聯(lián)。

相對(duì)于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),MapReduce計(jì)算模型更適合于處理半結(jié)構(gòu)化或無結(jié)構(gòu)話的數(shù)據(jù)。不適合處理的任務(wù)不適合一般web應(yīng)用不適合實(shí)時(shí)響應(yīng)的任務(wù)不適合小數(shù)據(jù)集的處理不適合需要大量臨時(shí)空間的任務(wù)不適合CPU密集且具有許多交叉調(diào)用的任務(wù)NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。MapReduce工作原理MapReduce執(zhí)行流程MapReduce角色Client:作業(yè)提交發(fā)起者。

JobTracker:初始化作業(yè),分配作業(yè),與TaskTracker通信,協(xié)調(diào)整個(gè)作業(yè)。

TaskTracker:保持JobTracker通信,在分配的數(shù)據(jù)片段上執(zhí)行

MapReduce任務(wù)。任務(wù)的分配

TaskTracker和JobTracker之間的通信與任務(wù)的分配是通過心跳機(jī)制完成的。

TaskTracker會(huì)主動(dòng)向JobTracker詢問是否有作業(yè)要做,如果自己可以做,那么就會(huì)申請(qǐng)到作業(yè)任務(wù),這個(gè)任務(wù)可以使Map也可能是Reduce任務(wù)。NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。MapReduce工作原理任務(wù)的執(zhí)行申請(qǐng)到任務(wù)后,TaskTracker會(huì)做如下事情:拷貝代碼到本地拷貝任務(wù)的信息到本地啟動(dòng)JVM運(yùn)行任務(wù)狀態(tài)與任務(wù)的更新

任務(wù)在運(yùn)行過程中,首先會(huì)將自己的狀態(tài)匯報(bào)給TaskTracker,然后由

TaskTracker匯總告之JobTracker。作業(yè)的完成

JobTracker是在接受到最后一個(gè)任務(wù)運(yùn)行完成后,才會(huì)將任務(wù)標(biāo)志為成功。此時(shí)會(huì)做刪除中間結(jié)果等善后處理工作。MapReduce工作原理NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。Hadoop實(shí)例根據(jù)URL的頂級(jí)域名進(jìn)行分類統(tǒng)計(jì)輸入、輸出格式:文件源文件格式如下:–統(tǒng)計(jì)目標(biāo):NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。Hadoop實(shí)例1.編寫MapReduce函數(shù),客戶端作業(yè)–Map函數(shù)NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。Hadoop實(shí)例–Reduce函數(shù)–Job設(shè)置NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。Hadoop實(shí)例編譯、打包成jar文件略3.源文件提交到HDFS文件系統(tǒng)文件從本地提交到HDFS文件系統(tǒng)[put命令]–查看HDFS文件系統(tǒng)中已提交的文件NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。Hadoop實(shí)例使用Hadoop命令提交作業(yè)–提交作業(yè)–查看作業(yè)http://localhost:50030NameNode主要功能提供名稱查詢服務(wù)通過向NN發(fā)送心跳保持與其聯(lián)系(3秒一次),如果NN

10分鐘沒有收到DN的心跳,則認(rèn)為其已經(jīng)lost,并copy其上的block到其它DN每個(gè)集群都有一個(gè),不接收或記錄任何實(shí)時(shí)數(shù)據(jù)變化,但與NN進(jìn)行通信,定期保存HDFS元數(shù)據(jù)快照。如NN發(fā)生問題,及時(shí)作為備用NN使用,將宕機(jī)時(shí)間和數(shù)據(jù)的損失降低到最小。Hadoop實(shí)例查看執(zhí)行結(jié)果–查看執(zhí)行結(jié)果生成的文件查看HDFS文件系統(tǒng)中的結(jié)果HDFS文件拷貝到本地,查看結(jié)果Hive簡介Hive是什么hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類SQL語句快

速實(shí)現(xiàn)簡單的MapReduce統(tǒng)計(jì),不必開發(fā)專門的MapReduce應(yīng)用,十分適

合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。Hive是建立在Hadoop上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。它提供了一系列的工具,可以用來進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù)的機(jī)制。Hive定義了簡單的類SQL查詢語言,稱為HQL,它允許熟悉SQL的用戶查詢數(shù)據(jù)。同時(shí),這個(gè)語言也允許熟悉MapReduce開發(fā)者的開發(fā)自定義的mapper和reducer來處理內(nèi)建的mapper和reducer無法完成的復(fù)雜的分析工作。Hive實(shí)例創(chuàng)建托管表–1.在Hive命令行執(zhí)行建表語句–2.查看元數(shù)據(jù)庫中的表信息、字段信息[sds、columns_v2]Hive實(shí)例–3.從本地向net_addr_1表中導(dǎo)入數(shù)據(jù)–4.查看導(dǎo)入的數(shù)據(jù)Hive實(shí)例根據(jù)URL的頂級(jí)域名進(jìn)行分類統(tǒng)計(jì)-Hive實(shí)現(xiàn)1.源數(shù)據(jù)入表[略],使用已生成的net_addr_12.源數(shù)據(jù)加工轉(zhuǎn)換,生成中間表INSERT

OVERWRITE

TABLE

net_addr_3

selectnet_id,regexp_replace(net_url,"(.+\\.)",

"")

from

net_addr_1;–3.根據(jù)中間表數(shù)據(jù)進(jìn)行統(tǒng)計(jì)Hbase簡介

HBase是一個(gè)針對(duì)結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動(dòng)態(tài)模式數(shù)據(jù)庫。和傳統(tǒng)關(guān)系數(shù)據(jù)庫不同,HBase采用了BigTable的數(shù)據(jù)模型:增強(qiáng)的稀疏排序映射表(Key/Value),其中,鍵由行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳構(gòu)成。HBase提供了對(duì)大規(guī)模數(shù)據(jù)的隨機(jī)、實(shí)時(shí)讀寫訪問,同時(shí),HBase中保存的數(shù)據(jù)可以使用MapReduce來處理,它將數(shù)據(jù)存儲(chǔ)和并行計(jì)算完美地結(jié)合在一起。利用HBase技術(shù)可在廉價(jià)PC

Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群HFile,HBase中KeyValue數(shù)據(jù)的存儲(chǔ)格式HMaster沒有單點(diǎn)問題,HBase中可以啟動(dòng)多個(gè)HMaster,通過Zookeeper的Master

Election機(jī)制保證總有一個(gè)Master運(yùn)行

HStore存儲(chǔ)是HBase存儲(chǔ)的核心了,其中由兩部分組成,一部分是MemStore,一部分是StoreFiles。MemStore是Sorted

MemoryBuffer,用戶寫入的數(shù)據(jù)首先會(huì)放入MemStore,當(dāng)MemStore滿了以后會(huì)Flush成一個(gè)StoreFile(底層實(shí)現(xiàn)是HFile)但是在分布式系統(tǒng)環(huán)境中,無法避免系統(tǒng)出錯(cuò)或者宕機(jī),因此一旦HRegionServer意外退出,MemStore中的內(nèi)存數(shù)據(jù)將會(huì)丟失,這就需要引入HLog了。Hbase架構(gòu)Hbase實(shí)例1、構(gòu)建Hbase表hbase_testhbase>

create

"hbase_test",

"id01"2、構(gòu)建hive外表hive_test,并對(duì)應(yīng)hbase_test表CREATE

EXTERNAL

TABLE

hive_test

(id01

STRING)STORED

BY

"org.apache.hadoop.hive.hbase.HBaseStorageHandler"WITH

SERDEPROPERTIES

("hbase.columns.mapping"

=

":key,id01")TBLPROPERTIES(""

=

"hbase_test");3、數(shù)據(jù)通過hive_test導(dǎo)入到hbase_test表中INSERT

OVERWRITE

TABLE

hive_test

SELECT

id01

FROM

hive_date;Hbase實(shí)例大數(shù)據(jù)應(yīng)用介紹2021/6/20用戶上網(wǎng)行為分析系統(tǒng)用戶行為分析系統(tǒng)數(shù)據(jù)處理流程圖ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器Kibana

是一個(gè)為ElasticSearch

提供日志分析的Web

ui工具,可使用它對(duì)日志進(jìn)行高效的搜索、可視化、分析等各種操作Flume是Cloudera提供的一個(gè)分布式、可靠、和高可用的海量日志采集、聚合和傳輸?shù)娜罩臼占到y(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力由于采集數(shù)據(jù)的速度和數(shù)據(jù)處理的速度不一定同步,因此添加一個(gè)消息中間件來作為緩沖,選用apache的kafka,kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動(dòng)作流數(shù)據(jù)。Kafka

是一個(gè)非常通用的系統(tǒng)。你可以有許多生產(chǎn)者和很多的消費(fèi)者共享多個(gè)主題Topics。相比之下,Flume是一個(gè)專用工具被設(shè)計(jì)為旨在往HDFS,HBase發(fā)送數(shù)據(jù)。它對(duì)HDFS有特殊的優(yōu)化,并且集成了Hadoop的安全特性。所以,Cloudera

建議如果數(shù)據(jù)被多個(gè)系統(tǒng)消費(fèi)的話,使用kafka;如果數(shù)據(jù)被設(shè)計(jì)給Hadoop使用,使用Flume。adoop是磁盤級(jí)計(jì)算,進(jìn)行計(jì)算時(shí),數(shù)據(jù)在磁盤上,需要讀寫磁盤;Storm是內(nèi)存級(jí)計(jì)算,數(shù)據(jù)直接通過網(wǎng)絡(luò)導(dǎo)入內(nèi)存。讀寫內(nèi)存比讀寫磁盤速度快n個(gè)數(shù)量級(jí)。根據(jù)Harvard

CS61課件,磁盤訪問延遲約為內(nèi)存訪問延遲的75000倍。所以Storm更快

storm的網(wǎng)絡(luò)直傳、內(nèi)存計(jì)算,其時(shí)延必然比hadoop的通過hdfs傳輸?shù)偷枚?;?dāng)計(jì)算模型比較適合流式時(shí),storm的流式處理,省去了批處理的收集數(shù)據(jù)的時(shí)間;因?yàn)閟torm是服務(wù)型的作業(yè),也省去了作業(yè)調(diào)度的時(shí)延。所以從時(shí)延上來看,storm要快于Hadoop從原理角度來講:Hadoop

M/R基于HDFS,需要切分輸入數(shù)據(jù)、產(chǎn)生中間數(shù)據(jù)文件、排序、數(shù)據(jù)壓縮、多份復(fù)制等,效率較低。Storm基于ZeroMQ這個(gè)高性能的消息通訊庫,不持久化數(shù)據(jù)。說一個(gè)典型的場(chǎng)景,幾千個(gè)日志生產(chǎn)方產(chǎn)生日志文件,需要進(jìn)行一些ETL操作存入一個(gè)數(shù)據(jù)庫。假設(shè)利用hadoop,則需要先存入hdfs,按每一分鐘切一個(gè)文件的粒度來算(這個(gè)粒度已經(jīng)極端的細(xì)了,再小的話hdfs上會(huì)一堆小文件),hadoop開始計(jì)算時(shí),1分鐘已經(jīng)過去了,然后再開始調(diào)度任務(wù)又花了一分鐘,然后作業(yè)運(yùn)行起來,假設(shè)機(jī)器特別多,幾鈔鐘就算完了,然后寫數(shù)據(jù)庫假設(shè)也花了很少的時(shí)間,這樣,從數(shù)據(jù)產(chǎn)生到最后可以使用已經(jīng)過去了至少兩分多鐘。而流式計(jì)算則是數(shù)據(jù)產(chǎn)生時(shí),則有一個(gè)程序去一直監(jiān)控日志的產(chǎn)生,產(chǎn)生一行就通過一個(gè)傳輸系統(tǒng)發(fā)給流式計(jì)算系統(tǒng),然后流式計(jì)算系統(tǒng)直接處理,處理完之后直接寫入數(shù)據(jù)庫,每條數(shù)據(jù)從產(chǎn)生到寫入數(shù)據(jù)庫,在資源充足時(shí)可以在毫秒級(jí)別完成Storm的主要特點(diǎn)如下:1.簡單的編程模型。類似于MapReduce降低了并行批處理復(fù)雜性,Storm降低了進(jìn)行實(shí)時(shí)處理的復(fù)雜

性。2.可以使用各種編程語言。你可以在Storm之上使用各種編程語言。默認(rèn)支持Clojure、Java、Ruby和Python。要增加對(duì)其他語言的支持,只需實(shí)現(xiàn)一個(gè)簡單的Storm通信協(xié)議即可。3.容錯(cuò)性。Storm會(huì)管理工作進(jìn)程和節(jié)點(diǎn)的故障。4.水平擴(kuò)展。計(jì)算是在多個(gè)線程、進(jìn)程和服務(wù)器之間并行進(jìn)行的。5.可靠的消息處理。Storm保證每個(gè)消息至少能得到一次完整處理。任務(wù)失敗

時(shí),它會(huì)負(fù)責(zé)從消息源重試消息。6.快速。系統(tǒng)的設(shè)計(jì)保證了消息能得到快速的處理,使用?MQ作為其底層消息隊(duì)列。7.本地模式。Storm有一個(gè)“本地模式”,可以在處理過程中完全模擬Storm集群。這讓你可以快速進(jìn)行開發(fā)和單元測(cè)試。唯品會(huì)日志處理框架簡介唯品會(huì)日志處理框架簡介全國重點(diǎn)車輛聯(lián)網(wǎng)聯(lián)控平臺(tái)Cloudera

Manager介紹2021/6/20Cloudera

Manager介紹

CDH(Cloudera"s

Distribution,including

Apache

Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護(hù),基于穩(wěn)定版本的Apache

Hadoop構(gòu)建,并集成了很多補(bǔ)丁,可直接用于生產(chǎn)環(huán)境。

Cloudera

Manager則是為了便于在集群中進(jìn)行Hadoop等大數(shù)據(jù)處理相關(guān)的服務(wù)安裝和監(jiān)控管理的組件,對(duì)集群中主機(jī)、Hadoop、Hive、Hbase、Spark等服務(wù)的安裝配置管理做了極大簡化。Cloudera

Manager有四大功能管理監(jiān)控診斷集成Cloudera

Manager介紹Cloudera

Flume

Flume是Cloudera提供的日志收集系統(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);

Flume是Cloudera提供的一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。Cloudera

Manager介紹Cloudera

Impala

Cloudera

Impala對(duì)你存儲(chǔ)在Apache

Hadoop在HDFS,HBase的數(shù)據(jù)提

供直接查詢互動(dòng)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論