自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大數(shù)據(jù)平臺(tái)核心架構(gòu)圖鑒,建議收藏!

大數(shù)據(jù) 新聞
數(shù)據(jù)采集的任務(wù)就是把數(shù)據(jù)從各種數(shù)據(jù)源中采集和存儲(chǔ)到數(shù)據(jù)存儲(chǔ)上,期間有可能會(huì)做一些簡(jiǎn)單的清洗。

?我們先來看看這張圖,這是某公司使用的大數(shù)據(jù)平臺(tái)架構(gòu)圖,大部分公司應(yīng)該都差不多:

圖片

從這張大數(shù)據(jù)的整體架構(gòu)圖上看來,大數(shù)據(jù)的核心層應(yīng)該是:數(shù)據(jù)采集層、數(shù)據(jù)存儲(chǔ)與分析層、數(shù)據(jù)共享層、數(shù)據(jù)應(yīng)用層,可能叫法有所不同,本質(zhì)上的角色都大同小異。

所以我下面就按這張架構(gòu)圖上的線索,慢慢來剖析一下,大數(shù)據(jù)的核心技術(shù)都包括什么。

01數(shù)據(jù)采集

數(shù)據(jù)采集的任務(wù)就是把數(shù)據(jù)從各種數(shù)據(jù)源中采集和存儲(chǔ)到數(shù)據(jù)存儲(chǔ)上,期間有可能會(huì)做一些簡(jiǎn)單的清洗。

數(shù)據(jù)源的種類比較多:

網(wǎng)站日志:作為互聯(lián)網(wǎng)行業(yè),網(wǎng)站日志占的份額最大,網(wǎng)站日志存儲(chǔ)在多臺(tái)網(wǎng)站日志服務(wù)器上,一般是在每臺(tái)網(wǎng)站日志服務(wù)器上部署flume agent,實(shí)時(shí)的收集網(wǎng)站日志并存儲(chǔ)到HDFS上;

業(yè)務(wù)數(shù)據(jù)庫(kù):業(yè)務(wù)數(shù)據(jù)庫(kù)的種類也是多種多樣,有Mysql、Oracle、SqlServer等,這時(shí)候,我們迫切的需要一種能從各種數(shù)據(jù)庫(kù)中將數(shù)據(jù)同步到HDFS上的工具,Sqoop是一種,但是Sqoop太過繁重,而且不管數(shù)據(jù)量大小,都需要啟動(dòng)MapReduce來執(zhí)行,而且需要Hadoop集群的每臺(tái)機(jī)器都能訪問業(yè)務(wù)數(shù)據(jù)庫(kù);應(yīng)對(duì)此場(chǎng)景,淘寶開源的DataX,是一個(gè)很好的解決方案,有資源的話,可以基于DataX之上做二次開發(fā),就能非常好的解決。當(dāng)然,F(xiàn)lume通過配置與開發(fā),也可以實(shí)時(shí)的從數(shù)據(jù)庫(kù)中同步數(shù)據(jù)到HDFS。

來自于Ftp/Http的數(shù)據(jù)源:有可能一些合作伙伴提供的數(shù)據(jù),需要通過Ftp/Http等定時(shí)獲取,DataX也可以滿足該需求;

其他數(shù)據(jù)源:比如一些手工錄入的數(shù)據(jù),只需要提供一個(gè)接口或小程序,即可完成。

02數(shù)據(jù)存儲(chǔ)與分析

毋庸置疑,HDFS是大數(shù)據(jù)環(huán)境下數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)平臺(tái)最完美的數(shù)據(jù)存儲(chǔ)解決方案。

離線數(shù)據(jù)分析與計(jì)算,也就是對(duì)實(shí)時(shí)性要求不高的部分,在筆者看來,Hive還是首當(dāng)其沖的選擇,豐富的數(shù)據(jù)類型、內(nèi)置函數(shù);壓縮比非常高的ORC文件存儲(chǔ)格式;非常方便的SQL支持,使得Hive在基于結(jié)構(gòu)化數(shù)據(jù)上的統(tǒng)計(jì)分析遠(yuǎn)遠(yuǎn)比MapReduce要高效的多,一句SQL可以完成的需求,開發(fā)MR可能需要上百行代碼。

當(dāng)然,使用Hadoop框架自然而然也提供了MapReduce接口,如果真的很樂意開發(fā)Java,或者對(duì)SQL不熟,那么也可以使用MapReduce來做分析與計(jì)算。

Spark是這兩年非常火的,經(jīng)過實(shí)踐,它的性能的確比MapReduce要好很多,而且和Hive、Yarn結(jié)合的越來越好,因此,必須支持使用Spark和SparkSQL來做分析和計(jì)算。因?yàn)橐呀?jīng)有Hadoop Yarn,使用Spark其實(shí)是非常容易的,不用單獨(dú)部署Spark集群。

03數(shù)據(jù)共享

這里的數(shù)據(jù)共享,其實(shí)指的是前面數(shù)據(jù)分析與計(jì)算后的結(jié)果存放的地方,其實(shí)就是關(guān)系型數(shù)據(jù)庫(kù)和NOSQL數(shù)據(jù)庫(kù);前面使用Hive、MR、Spark、SparkSQL分析和計(jì)算的結(jié)果,還是在HDFS上,但大多業(yè)務(wù)和應(yīng)用不可能直接從HDFS上獲取數(shù)據(jù),那么就需要一個(gè)數(shù)據(jù)共享的地方,使得各業(yè)務(wù)和產(chǎn)品能方便的獲取數(shù)據(jù);和數(shù)據(jù)采集層到HDFS剛好相反,這里需要一個(gè)從HDFS將數(shù)據(jù)同步至其他目標(biāo)數(shù)據(jù)源的工具,同樣,DataX也可以滿足。

另外,一些實(shí)時(shí)計(jì)算的結(jié)果數(shù)據(jù)可能由實(shí)時(shí)計(jì)算模塊直接寫入數(shù)據(jù)共享。

04數(shù)據(jù)應(yīng)用

  • 業(yè)務(wù)產(chǎn)品(CRM、ERP等)業(yè)務(wù)產(chǎn)品所使用的數(shù)據(jù),已經(jīng)存在于數(shù)據(jù)共享層,直接從數(shù)據(jù)共享層訪問即可;
  • 報(bào)表(FineReport、業(yè)務(wù)報(bào)表)同業(yè)務(wù)產(chǎn)品,報(bào)表所使用的數(shù)據(jù),一般也是已經(jīng)統(tǒng)計(jì)匯總好的,存放于數(shù)據(jù)共享層;
  • 即席查詢即席查詢的用戶有很多,有可能是數(shù)據(jù)開發(fā)人員、網(wǎng)站和產(chǎn)品運(yùn)營(yíng)人員、數(shù)據(jù)分析人員、甚至是部門老大,他們都有即席查詢數(shù)據(jù)的需求;這種即席查詢通常是現(xiàn)有的報(bào)表和數(shù)據(jù)共享層的數(shù)據(jù)并不能滿足他們的需求,需要從數(shù)據(jù)存儲(chǔ)層直接查詢。即席查詢一般是通過SQL完成,最大的難度在于響應(yīng)速度上,使用Hive有點(diǎn)慢,可以用SparkSQL,它的響應(yīng)速度較Hive快很多,而且能很好的與Hive兼容。當(dāng)然,你也可以使用Impala,如果不在乎平臺(tái)中再多一個(gè)框架的話。推薦一個(gè) Spring Boot 基礎(chǔ)教程及實(shí)戰(zhàn)示例:https://github.com/javastacks/spring-boot-best-practice
  • OLAP目前,很多的OLAP工具不能很好的支持從HDFS上直接獲取數(shù)據(jù),都是通過將需要的數(shù)據(jù)同步到關(guān)系型數(shù)據(jù)庫(kù)中做OLAP,但如果數(shù)據(jù)量巨大的話,關(guān)系型數(shù)據(jù)庫(kù)顯然不行;這時(shí)候,需要做相應(yīng)的開發(fā),從HDFS或者HBase中獲取數(shù)據(jù),完成OLAP的功能;比如:根據(jù)用戶在界面上選擇的不定的維度和指標(biāo),通過開發(fā)接口,從HBase中獲取數(shù)據(jù)來展示。
  • 其它數(shù)據(jù)接口這種接口有通用的,有定制的。比如:一個(gè)從Redis中獲取用戶屬性的接口是通用的,所有的業(yè)務(wù)都可以調(diào)用這個(gè)接口來獲取用戶屬性。

05實(shí)時(shí)計(jì)算

現(xiàn)在業(yè)務(wù)對(duì)數(shù)據(jù)倉(cāng)庫(kù)實(shí)時(shí)性的需求越來越多,比如:實(shí)時(shí)的了解網(wǎng)站的整體流量;實(shí)時(shí)的獲取一個(gè)廣告的曝光和點(diǎn)擊;在海量數(shù)據(jù)下,依靠傳統(tǒng)數(shù)據(jù)庫(kù)和傳統(tǒng)實(shí)現(xiàn)方法基本完成不了,需要的是一種分布式的、高吞吐量的、延時(shí)低的、高可靠的實(shí)時(shí)計(jì)算框架;Storm在這塊是比較成熟了,但我選擇Spark Streaming,原因很簡(jiǎn)單,不想多引入一個(gè)框架到平臺(tái)中,另外,Spark Streaming比Storm延時(shí)性高那么一點(diǎn)點(diǎn),那對(duì)于我們的需要可以忽略。

我們目前使用Spark Streaming實(shí)現(xiàn)了實(shí)時(shí)的網(wǎng)站流量統(tǒng)計(jì)、實(shí)時(shí)的廣告效果統(tǒng)計(jì)兩塊功能。

做法也很簡(jiǎn)單,由Flume在前端日志服務(wù)器上收集網(wǎng)站日志和廣告日志,實(shí)時(shí)的發(fā)送給Spark Streaming,由Spark Streaming完成統(tǒng)計(jì),將數(shù)據(jù)存儲(chǔ)至Redis,業(yè)務(wù)通過訪問Redis實(shí)時(shí)獲取。

06任務(wù)調(diào)度與監(jiān)控

在數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)平臺(tái)中,有各種各樣非常多的程序和任務(wù),比如:數(shù)據(jù)采集任務(wù)、數(shù)據(jù)同步任務(wù)、數(shù)據(jù)分析任務(wù)等;

這些任務(wù)除了定時(shí)調(diào)度,還存在非常復(fù)雜的任務(wù)依賴關(guān)系,比如:數(shù)據(jù)分析任務(wù)必須等相應(yīng)的數(shù)據(jù)采集任務(wù)完成后才能開始;數(shù)據(jù)同步任務(wù)需要等數(shù)據(jù)分析任務(wù)完成后才能開始;

這就需要一個(gè)非常完善的任務(wù)調(diào)度與監(jiān)控系統(tǒng),它作為數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)平臺(tái)的中樞,負(fù)責(zé)調(diào)度和監(jiān)控所有任務(wù)的分配與運(yùn)行。?

責(zé)任編輯:張燕妮 來源: 數(shù)倉(cāng)寶貝庫(kù)
相關(guān)推薦

2022-07-14 09:24:28

大數(shù)據(jù)技術(shù)

2022-08-16 18:24:33

大數(shù)據(jù)架構(gòu)

2020-12-09 13:48:37

大數(shù)據(jù)BI數(shù)據(jù)平臺(tái)

2021-05-14 11:26:47

大數(shù)據(jù)

2022-03-08 23:46:06

數(shù)據(jù)分析大數(shù)據(jù)

2016-01-28 10:26:59

大數(shù)據(jù)平臺(tái)大數(shù)據(jù)采集架構(gòu)分析

2017-08-10 14:30:52

大數(shù)據(jù)數(shù)據(jù)采集架構(gòu)分析

2019-12-12 10:22:16

大數(shù)據(jù)平臺(tái)大數(shù)據(jù)安全大數(shù)據(jù)

2021-09-29 11:30:01

大數(shù)據(jù)技術(shù)架構(gòu)

2021-05-09 15:32:50

大數(shù)據(jù)架構(gòu)大數(shù)據(jù)數(shù)據(jù)

2020-12-17 19:15:48

大數(shù)據(jù)大數(shù)據(jù)平臺(tái)架構(gòu)數(shù)據(jù)平臺(tái)建設(shè)

2021-02-22 10:55:59

大數(shù)據(jù)大數(shù)據(jù)平臺(tái)數(shù)據(jù)平臺(tái)建設(shè)

2020-06-15 08:54:46

架構(gòu)圖 EA業(yè)務(wù)建模

2020-10-29 07:08:44

架構(gòu)數(shù)據(jù)技術(shù)

2015-03-17 10:24:38

2011-08-12 11:14:42

大數(shù)據(jù)數(shù)據(jù)分析平臺(tái)架構(gòu)

2020-07-07 07:30:33

技術(shù)IT架構(gòu)

2019-10-17 08:26:21

大數(shù)據(jù)平臺(tái)架構(gòu)騰訊

2021-02-22 10:32:53

大數(shù)據(jù)大數(shù)據(jù)平臺(tái)大數(shù)據(jù)技術(shù)棧

2017-01-07 11:45:43

醫(yī)療健康大數(shù)據(jù)虛擬化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)