Hadoop數(shù)據(jù)分析平臺搭建方案_第1頁
Hadoop數(shù)據(jù)分析平臺搭建方案_第2頁
Hadoop數(shù)據(jù)分析平臺搭建方案_第3頁
Hadoop數(shù)據(jù)分析平臺搭建方案_第4頁
Hadoop數(shù)據(jù)分析平臺搭建方案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 Hadoop數(shù)據(jù)分析平臺搭建方案企業(yè)發(fā)展到一定規(guī)模都會搭建單獨的BI平臺來做數(shù)據(jù)分析,即OLAP(聯(lián)機分析處理),一般都是基于數(shù)據(jù)庫技術(shù)來構(gòu)建,基本都是單機產(chǎn)品。除了業(yè)務(wù)數(shù)據(jù)的相關(guān)分析外,互聯(lián)網(wǎng)企業(yè)還會對用戶行為進行分析,進一步挖掘潛在價值,這時數(shù)據(jù)就會膨脹得很厲害,一天的數(shù)據(jù)量可能會成千萬或上億,對基于數(shù)據(jù)庫的傳統(tǒng)數(shù)據(jù)分析平臺的數(shù)據(jù)存儲和分析計算帶來了很大挑戰(zhàn)。為了應(yīng)對隨著數(shù)據(jù)量的增長、數(shù)據(jù)處理性能的可擴展性,許多企業(yè)紛紛轉(zhuǎn)向Hadoop平臺來搭建數(shù)據(jù)分析平臺。Hadoop平臺具有分布式存儲及并行計算的特性,因此可輕松擴展存儲結(jié)點和計算結(jié)點,解決數(shù)據(jù)增長帶來的性能瓶頸。隨著越來越多的企業(yè)開

2、始使用Hadoop平臺,也為Hadoop平臺引入了許多的技術(shù),如Hive、Spark SQL、Kafka等,豐富的組件使得用Hadoop構(gòu)建數(shù)據(jù)分析平臺代替?zhèn)鹘y(tǒng)數(shù)據(jù)分析平臺成為可能。01 數(shù)據(jù)分析平臺架構(gòu)原理從概念上講,我們可以把數(shù)據(jù)分析平臺分為接入層(Landing)、整合層(Integration)、表現(xiàn)層(Persentation)、語義層(Semantic)、終端用戶應(yīng)用(End-user applications)、元數(shù)據(jù)(Metadata)?;贖adoop和數(shù)據(jù)庫的分析平臺基本概念和邏輯架構(gòu)是通用的,只是技術(shù)選型的不同:接入層(Landing):以和源系統(tǒng)相同的結(jié)構(gòu)暫存原始數(shù)據(jù),

3、有時被稱為“貼源層”或ODS;整合層(Integration):持久存儲整合后的企業(yè)數(shù)據(jù),針對企業(yè)信息實體和業(yè)務(wù)事件建模,代表組織的“唯一真相來源”,有時被稱為“數(shù)據(jù)倉庫”;表現(xiàn)層(Presentation):為滿足最終用戶的需求提供可消費的數(shù)據(jù),針對商業(yè)智能和查詢性能建模,有時被稱為“數(shù)據(jù)集市”;語義層(Semantic):提供數(shù)據(jù)的呈現(xiàn)形式和訪問控制,例如某種報表工具;終端用戶應(yīng)用(End-user applications):使用語義層的工具,將表現(xiàn)層數(shù)據(jù)最終呈現(xiàn)給用戶,包括儀表板、報表、圖表等多種形式;元數(shù)據(jù)(Metadata):記錄各層數(shù)據(jù)項的定義(Definitions)、血緣(G

4、enealogy)、處理過程(Processing)。來自不同數(shù)據(jù)源的“生”數(shù)據(jù)(接入層),和經(jīng)過中間處理之后得到的整合層、表現(xiàn)層的數(shù)據(jù)模型,都會存儲在數(shù)據(jù)湖里備用。數(shù)據(jù)湖的實現(xiàn)通常建立在Hadoop生態(tài)上,可能直接存儲在HDFS上,也可能存儲在HBase或Hive上,也有用關(guān)系型數(shù)據(jù)庫作為數(shù)據(jù)湖存儲的可能性存在。下圖說明了數(shù)據(jù)分析平臺的數(shù)據(jù)處理流程:數(shù)據(jù)分析基本都是單獨的系統(tǒng),會將其他數(shù)據(jù)源的數(shù)據(jù)(即外部數(shù)據(jù))同步到數(shù)據(jù)平臺的存儲體系來(即數(shù)據(jù)湖),一般數(shù)據(jù)先進入到接入層,這一層只簡單的將外部數(shù)據(jù)同步到數(shù)據(jù)分析平臺,沒有做其他處理,這樣同步出錯后重試即可,有定時同步和流式同步兩種:定時同步即

5、我們設(shè)定在指定時間觸發(fā)同步動作;流式同步即外部數(shù)據(jù)通過Kafka或MQ發(fā)送數(shù)據(jù)修改通知及內(nèi)容。數(shù)據(jù)分析平臺執(zhí)行對應(yīng)操作修改數(shù)據(jù)。接入層數(shù)據(jù)需要經(jīng)過ETL處理步驟才會進入數(shù)據(jù)倉庫,數(shù)據(jù)分析人員都是基于數(shù)據(jù)倉庫的數(shù)據(jù)來做分析計算,數(shù)據(jù)倉庫可以看作數(shù)據(jù)分析的唯一來源,ETL會將接入層的數(shù)據(jù)做數(shù)據(jù)清洗、轉(zhuǎn)換,再加載到數(shù)據(jù)倉庫,過濾或處理不合法、不完整的數(shù)據(jù),并使用統(tǒng)一的維度來表示數(shù)據(jù)狀態(tài)。有的系統(tǒng)會在這一層就將數(shù)據(jù)倉庫構(gòu)建成數(shù)據(jù)立方體、將維度信息構(gòu)建成雪花或星型模式;也有的系統(tǒng)這一層只是統(tǒng)一了所有數(shù)據(jù)信息,沒有做數(shù)據(jù)立方體,留在數(shù)據(jù)集市做。數(shù)據(jù)集市是基于數(shù)據(jù)倉庫數(shù)據(jù)對業(yè)務(wù)關(guān)心的信息做計算提取后得到的進

6、一步信息,是業(yè)務(wù)人員直接面對的信息,是數(shù)據(jù)倉庫的進一步計算和深入分析的結(jié)果,一般都會構(gòu)建數(shù)據(jù)立方體。系統(tǒng)開發(fā)人員一般會開發(fā)頁面來向用戶展示數(shù)據(jù)集市的數(shù)據(jù)。02 基于Hadoop構(gòu)建數(shù)據(jù)分析平臺_基于Hadoop構(gòu)建的數(shù)據(jù)分析平臺建構(gòu)理論與數(shù)據(jù)處理流程與前面講的相同。傳統(tǒng)分析平臺使用數(shù)據(jù)庫套件構(gòu)建,這里我們使用Hadoop平臺的組件。上面這張圖是我們使用到的Hadoop平臺的組件,數(shù)據(jù)從下到上流動,數(shù)據(jù)處理流程和上面說的一致。任務(wù)調(diào)度負責(zé)將數(shù)據(jù)處理的流程串聯(lián)起來,這里我選擇使用的是Oozie,也有很多其它選擇。1、數(shù)據(jù)存儲基于Hadoop的數(shù)據(jù)湖主要用到了HDFS、Hive和HBase,HDFS

7、是Hadoop平臺的文件存儲系統(tǒng),我們直接操縱文件是比較復(fù)雜的,所以可以使用分布式數(shù)據(jù)庫Hive或HBase用來做數(shù)據(jù)湖,存儲接入層、數(shù)據(jù)倉庫、數(shù)據(jù)集市的數(shù)據(jù)。Hive和HBase各有優(yōu)勢:HBase是一個NoSQL數(shù)據(jù)庫,隨機查詢性能和可擴展性都比較好;而Hive是一個基于HDFS的數(shù)據(jù)庫,數(shù)據(jù)文件都以HDFS文件(夾)形式存放,存儲了表的存儲位置(即在HDFS中的位置)、存儲格式等元數(shù)據(jù),Hive支持SQL查詢,可將查詢解析成Map/Reduce執(zhí)行,這對傳統(tǒng)的數(shù)據(jù)分析平臺開發(fā)人員更友好。Hive數(shù)據(jù)格式可選擇文本格式或二進制格式,文本格式有csv、json或自定義分隔,二進制格式有orc

8、或parquet,他們都基于行列式存儲,在查詢時性能更好。同時可選擇分區(qū)(partition),這樣在查詢時可通過條件過濾進一步減少數(shù)據(jù)量。接入層一般選擇csv或json等文本格式,也不做分區(qū),以盡量簡化數(shù)據(jù)同步。數(shù)據(jù)倉庫則選擇orc或parquet,以提升數(shù)據(jù)離線計算性能。數(shù)據(jù)集市這塊可以選擇將數(shù)據(jù)灌回傳統(tǒng)數(shù)據(jù)庫(RDBMS),也可以停留在數(shù)據(jù)分析平臺,使用NoSQL提供數(shù)據(jù)查詢或用Apache Kylin來構(gòu)建數(shù)據(jù)立方體,提供SQL查詢接口。2、數(shù)據(jù)同步我們通過數(shù)據(jù)同步功能使得數(shù)據(jù)到達接入層,使用到了Sqoop和Kafka。數(shù)據(jù)同步可以分為全量同步和增量同步,對于小表可以采用全量同步,對于大表全量同步是比較耗時的,一般都采用增量同步,將變動同步到數(shù)據(jù)平臺執(zhí)行,以達到兩邊數(shù)據(jù)一致的目的。全量同步使用Sqoop來完成,增量同步如果考慮定時執(zhí)行,也可以用Sqoop來完成。或者,也可以通過Kafka等MQ流式同步數(shù)據(jù),前提是外部數(shù)據(jù)源會將變動發(fā)送到MQ。3、ETL及離線計算我們使用Yarn來統(tǒng)一管理和調(diào)度計算資源。相較Map/Reduce,Spark SQL及Spark

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論