精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

豈止于大,一文讀懂大數(shù)據(jù)及其在推薦系統(tǒng)的應(yīng)用

大數(shù)據(jù)
大數(shù)據(jù)加速了數(shù)智時代的步伐,規(guī)模的數(shù)據(jù)和深度的智能是建立在大數(shù)據(jù)基礎(chǔ)之上的,大量的數(shù)據(jù)挖掘和模型訓(xùn)練都離不開大數(shù)據(jù)。大數(shù)據(jù)的誕生解決了數(shù)據(jù)存儲和處理的難題,谷歌公司發(fā)表的有關(guān)分布式的論文奠定了大數(shù)據(jù)的基礎(chǔ)。本文較大篇幅地介紹了大數(shù)據(jù)生態(tài)的分布式系統(tǒng)Hadoop技術(shù),以及大數(shù)據(jù)的分布式長什么樣。

 大數(shù)據(jù)是數(shù)據(jù)智能時代的“鐵公基”,是一系列計算和存儲的基礎(chǔ)設(shè)施。推薦系統(tǒng)也是建立在大數(shù)據(jù)的基礎(chǔ)之上的,大量的數(shù)據(jù)挖掘和模型訓(xùn)練都離不開大數(shù)據(jù)。

大數(shù)據(jù)這個名詞起的很好,對于非技術(shù)人員來說也能get到大的含義:數(shù)據(jù)量大,算力強大。

但是這強大的能力是怎么來的?大數(shù)據(jù)生態(tài)體系架構(gòu)是怎么分工的?

不具體做過的同學(xué)并不清楚。今天就繼續(xù)站在產(chǎn)品經(jīng)理的角度深入淺出地來講述這些問題。其實不一定是產(chǎn)品經(jīng)理,對大數(shù)據(jù)感興趣的同學(xué)都可以看看。本文比較長,如果時間不夠,建議先Mark下。

01 大數(shù)據(jù)的誕生與分布式
在大數(shù)據(jù)技術(shù)誕生之前,數(shù)據(jù)的存儲和處理大半壁江山都是Oracle和MySql和等數(shù)據(jù)庫軟件的。這些傳統(tǒng)數(shù)據(jù)庫的文件系統(tǒng)是單機的,也就是說,數(shù)據(jù)只能在一臺機器上跑。它們在處理成TB(1024GB)甚至上PB(1024TB)級別數(shù)據(jù)時就會特別吃力。

第一個解決了這個問題的公司是谷歌。谷歌解決這個問題的思路就是分布式。谷歌分別于2003-2004年發(fā)表了三篇重量級的論文,奠定了大數(shù)據(jù)的基礎(chǔ)。

簡單的說,谷歌通過論文公布了以下三個工具如何創(chuàng)造:

  1. 分布式文件系統(tǒng):Google File System
  2. 分布式并行計算框架:Google MapReduce
  3. 分布式數(shù)據(jù)庫:BigTable

這個就是大數(shù)據(jù)技術(shù)的開始。從谷歌的這個原點開始,大數(shù)據(jù)經(jīng)過多年發(fā)展,形成了今天的全貌。

可以用以下三個分類來去解構(gòu)整個大數(shù)據(jù)生態(tài):

  1. 分布式存儲:把文件切成多份,分布地存儲到多臺機器上。常用的組件有:HDFS,HBase等。
  2. 分布式計算:把數(shù)據(jù)計算的任務(wù)切分成多個,分配到多臺機器上計算。常用的組件有:MapReduce,Spark,Storm,F(xiàn)link等。
  3. 分布式工具:數(shù)據(jù)輔助類工具,資源調(diào)度管理工具等。常見的組件有:YARN,Hive,F(xiàn)lume,Sqoop,Elastic Search,ZooKeeper等。

大數(shù)據(jù)整個生態(tài)體系非常龐大,相關(guān)的產(chǎn)品不勝枚舉,讓人看著眼花繚亂,有種物種大爆發(fā)的感覺。但是也并非無跡可尋。我們理解大數(shù)據(jù)生態(tài),從這三個方面去理解就會輕松很多。本文也是嚴格按照這個方式來講述。

02 本文講述需要用的數(shù)據(jù)表
鑒于大數(shù)據(jù)生態(tài)過于龐大復(fù)雜,為了使得文章更加淺顯易懂,本文不對技術(shù)概念做過多的描述,而是直接到操作層面,以圖示的方式講解。因為要講述的是數(shù)據(jù)系統(tǒng),我這里建一張數(shù)據(jù)表USER,用這張數(shù)據(jù)表在各個系統(tǒng)中處理過程來給大家講述大數(shù)據(jù)各個組件的工作原理和機制。

03 Hadoop
整個互聯(lián)網(wǎng)技術(shù)生態(tài)圈中,谷歌是超級績優(yōu)生。每次發(fā)表論文,都會引起眾多人員前來“抄作業(yè)”。Hadoop之父Doug Cutting和他的團隊就是其中一個。他花了兩年的業(yè)余時間,照著谷歌的論文實現(xiàn)了一個分布式數(shù)據(jù)系統(tǒng),并用自己兒子的大象毛絨玩具的名字給這個系統(tǒng)命名為Hadoop。Hadoop的Logo也是個頭大象。

[[358986]]

后來到了2006年,Hadoop被引入Apache基金會,成為一個開源的頂級項目。隨著Hadoop的不斷發(fā)展,在Hadoop項目中,誕生了HBase,Hive,Pig,Zookeeper等子項目,并先后被Apache基金會將其獨立升級成為頂級項目。

同時,Apache基金會也不斷兼收并蓄其他大數(shù)據(jù)項目,基本把絕大多數(shù)優(yōu)秀的大數(shù)據(jù)項目都收入麾下,大有天下武功出少林的味道。大數(shù)據(jù)各種開源組件中,Apache旗下的才是少林正宗。

閑話不多說,我們來講Hadoop。

現(xiàn)在的Hadoop主要分三個部分:

  1. 分布式存儲:HDFS(Hadoop Distributed File System),一個高可靠、高吞吐量的分布式文件系統(tǒng),實現(xiàn)海量數(shù)據(jù)存儲。
  2. 分布式計算:MapReduce,一個分布式離線并行計算計算框架,實現(xiàn)海量計算。
  3. 分布式工具:YARN,一個集群資源調(diào)度管理的框架,實現(xiàn)硬件資源的調(diào)配。

04 圖解分布式
這里先具象的解釋下,什么是大數(shù)據(jù)的分布式長什么樣?

我們在安裝Hadoop的時候,要把同一個Hadoop的軟件安裝包,安裝在三臺以上不同的機器上。安裝好后,我們就可以得到一個Hadoop分布式集群。

如下圖,我們將Hadoop的三個組件,安裝在集群每一臺機器上,這個集群有七臺機器。每一臺機器叫一個節(jié)點。這七個節(jié)點中,要選出一個做老大,我們有什么事情先找這個老大,這個就是主節(jié)點。因為主節(jié)點很重要,它要是掛了,整個集群就掛了。所以一般主節(jié)點配置兩臺,一臺備份。其他五個節(jié)點叫做從節(jié)點。在Hadoop中,主節(jié)點命名為Master,從節(jié)點為Slave。

05 分布式文件系統(tǒng):HDFS
下面將Hadoop的第一個組件HDFS。HDFS作為分布式的文件系統(tǒng),它是以文本的方式來保存數(shù)據(jù)的,也就是說,數(shù)據(jù)一般會跟我們的TXT文件那樣。一個文件會被按照設(shè)定,切分成不同的數(shù)據(jù)塊,然后每個數(shù)據(jù)塊會被復(fù)制成多份,然后分布式地存到不同的節(jié)點中。HDFS把集群節(jié)點分成兩類:NameNode和DataNode。

  • NameNode可以理解成數(shù)據(jù)目錄,它記錄了每個數(shù)據(jù)塊在哪臺機器的哪個位置。這個功能由主節(jié)點承擔(dān)。
  • DataNode顧名思義就是存數(shù)據(jù)的節(jié)點了。

下面以USER數(shù)據(jù)表為例,舉例說明HDFS的運作過程。實際的系統(tǒng)中,因為NameNode負荷比較重,會設(shè)置一個SecondaryNameNode來協(xié)助NameNode的工作(注意是協(xié)助,而不是備份)。

上圖中:

  1. HDFS先把深藍色的文本數(shù)據(jù)切分成三份。每份數(shù)據(jù)按照系統(tǒng)設(shè)定,如64MB或128MB一塊。
  2. 將三份數(shù)據(jù)塊復(fù)制成三份,這樣就有九份數(shù)據(jù)。
  3. 把上一步得到的九份數(shù)據(jù)劃分到不同的DataNode中,并建好目錄。
  4. 按照儲存分配,把各個數(shù)據(jù)塊保存。

HDFS優(yōu)點:數(shù)據(jù)容量大,是大數(shù)據(jù)最主要的數(shù)據(jù)存儲方式。很多其他組件都是建立在HDFS的基礎(chǔ)上,應(yīng)用非常廣泛。

HDFS的缺點:它是個文件系統(tǒng),而不是數(shù)據(jù)庫系統(tǒng),不能像關(guān)系數(shù)據(jù)庫系統(tǒng)那樣建立索引等工具提升處理速度和定位到數(shù)據(jù)位置。因為數(shù)據(jù)記錄的形式是一行一行的字符串,沒辦法定位,不支持對數(shù)據(jù)的直接修改。

06 分布式離線計算引擎:MapReduce
MapReduce是專門負責(zé)分布式計算的,它是是一個組合詞,可以分成兩個部分:Map和Reduce。

簡單的說,Map就是把要計算的數(shù)據(jù)分解成多個計算任務(wù),而Reduce則是Map過程得到的結(jié)果進行匯總。假設(shè)現(xiàn)在我們要計算在USER表中,男女各有多少人。

MapReduce計算詳細過程如下:

上圖中:

  1. Splitting階段,把數(shù)據(jù)分成三塊。Splitting一般就是在HDFS存儲時的切分的基礎(chǔ)上再次切分。
  2. Mapper則為每個切分的數(shù)據(jù)塊建一個Mapping任務(wù),逐條地計算每條數(shù)據(jù)的結(jié)果,然后在磁盤中存起來。
  3. Shuffling也就是將Mapping階段的結(jié)果進行分揀,shuffle任務(wù)要等Mapping完全完成后才能開展。
  4. Reducing就是將分揀好的數(shù)據(jù),進行匯總。

通過這種方式,MapReduce獲得了強大的運算能力。

MapReduce優(yōu)點:計算能力強大,運算耗費成本低廉,在運算能力一般的機器上也能運行。

MapReduce缺點:它誕生的年代,內(nèi)存還很貴,在計算的過程中,中間結(jié)果要不斷存入磁盤中,以減少內(nèi)存的壓力,但是這樣導(dǎo)致了MapReduce運算速度比較慢。另外就是代碼不簡潔,學(xué)習(xí)曲線比較陡,后面在HIVE部分會講述。

07 資源管理調(diào)度系統(tǒng):YARN
YARN的全稱是Yet Another Resource Negotiator,直譯就是另一種資源協(xié)調(diào)者。

看名字就知道,他是Hadoop中其中一種資源調(diào)度器。它的最重要的組件是ResourceManager,通過這個組件,YARN可以為我們的MapReduce任務(wù)進行資源分配,分配的資源就是一個個的計算容器,每個計算的任務(wù)就在這個容器中跑。由于優(yōu)秀,后來YARN進一步被發(fā)揚光大,成了Hadoop以外的很多大數(shù)據(jù)組件的資源調(diào)度框架。

08 數(shù)據(jù)分析和數(shù)據(jù)倉庫工具:HIVE
在MapReduce的中,處理數(shù)據(jù)作業(yè)的程序是要通過JAVA來實現(xiàn)的,但是JAVA在寫MapReduce的過程并不簡潔。像我們前面提到的統(tǒng)計數(shù)據(jù)表中男女人數(shù)這個簡單的操作,需要嚴格按照Input到Reducing這五步來實現(xiàn),代碼一般長達上百行。

但是統(tǒng)計這個數(shù)據(jù)結(jié)果,對于SQL來說,就是一句話的事:SELECT sex,COUNT(1) FROM USER GROUP BY sex。

為了不再寫又長又煩的JAVA,Hive應(yīng)運而生。Hive組件就主要做的事情是,將SQL代碼轉(zhuǎn)譯成MapReduce,然后放入YARN構(gòu)建的容器里面跑出結(jié)果。

這樣,我們要統(tǒng)計USER表中的男女人數(shù)的時候,就不用寫JAVA實現(xiàn)也能調(diào)動MapReduce了,這里我們畫圖說明一下:

另外,Hive除了轉(zhuǎn)譯SQL的功能外,它也可以用來建數(shù)據(jù)庫和數(shù)據(jù)表。一個數(shù)據(jù)庫擁有的能力它都有,而且還可以處理大量的數(shù)據(jù),所以一般還會將Hive用來建數(shù)據(jù)倉庫。數(shù)據(jù)倉庫的主要功能,就是把歷史數(shù)據(jù)都存進去,可以反復(fù)地統(tǒng)計計算使用。數(shù)據(jù)倉庫最主要的特征就是數(shù)據(jù)量特別大。

由于它是構(gòu)建于HADOOP的基礎(chǔ)上,Hive可計算的容量大,運算能力強,但是速度不快。Hive也不能直接修改數(shù)據(jù)。對Hive進行數(shù)據(jù)的修改操作非常費時。

最后,介紹一下Hive和MySql的區(qū)別:

  • MySql是關(guān)系型數(shù)據(jù)庫,它適合用于聯(lián)機事務(wù)數(shù)據(jù)管理。如用戶注冊,修改昵稱等數(shù)據(jù)操作,可以讓用戶對數(shù)據(jù)進行實時快速地增刪改查。
  • HIVE是建立的HADOOP基礎(chǔ)上的數(shù)據(jù)倉庫工具。它適合計算大容量數(shù)據(jù)的場景,因為計算速度比較慢,不能用來進行實時響應(yīng)的事務(wù)性場景。

09 離線計算和流式計算DAG計算引擎:SPARK
Spark是分布式計算引擎,是大數(shù)據(jù)生態(tài)體系中的一個速度快,功能強大的一個組件。Spark整個框架非常龐大,提供能非常豐富的離線計算和流式計算能力。

本小節(jié)先介紹Spark的離線計算功能。

得益于摩爾定律下的硬件基礎(chǔ)設(shè)施的升級,內(nèi)存變得越來越便宜,與MapReduce主要把中間結(jié)果不斷寫入磁盤不同,Spark主要把數(shù)據(jù)放在內(nèi)存中計算。這樣Spark在速度上比起MapReduce有上千倍的提升。

當(dāng)內(nèi)存不足的時候,Spark也會需要將中間結(jié)果存入磁盤。但是在這種情況下,Spark在速度上比起MapReduce也有上百倍的提升。因為Spark提供了RDD,DataFrame,DataSet這樣的數(shù)據(jù)表工具,并為這些數(shù)據(jù)表提供了一系列高效計算的算子,有效提升了速度。多個算子疊加就成了一個DAG(Directed Acyclic Graph),所以Spark也被成為DAG計算引擎。

下面介紹Spark的計算流程。

因為RDD,DataFrame,DataSet都是類似關(guān)系數(shù)據(jù)庫的數(shù)據(jù)表,流程機制都差不多,這里選用DataFrame來解釋。當(dāng)Spark處理USER表的數(shù)據(jù)時,會經(jīng)過以下過程:

上圖中:

  1. 數(shù)據(jù)讀?。簲?shù)據(jù)讀取可以從文本,HDFS,HIVE,JSON等多種格式中讀取。
  2. 轉(zhuǎn)換成DataFrame:把讀取的數(shù)據(jù)表轉(zhuǎn)換成Spark的內(nèi)置格式DataFrame,并上圖中命名為USER_DF。有了DataFrame就可以直接對它進行算子操作。上圖中用到的groupby和count都是算子。算子的作用就是執(zhí)行某類計算的操作。
  3. groupby算子運算:groupby就是分組的算子。它實現(xiàn)了按照男女對數(shù)據(jù)進行了分組,得到一個分組后的新DataFrame,上圖中命名為GROUPBY_DF。每次算子運算后,都得到一個新的DataFrame。
  4. count算子運算:從上一步的結(jié)果中,再次進行個數(shù)計算,得出最后結(jié)果RESULT_DF。

多個算子混合后,就形成了一個DAG,上面的操作,會形成以下的DAG。Spark通過構(gòu)建DAG,然后下發(fā)給從節(jié)點計算。

同時這個計算過程也是像MapReduce那樣,將計算任務(wù)分解成Map和Reduce兩個階段,分布式地在多臺機器中計算,這里不再描述。

10 離線計算和流式計算
MapReduce和Spark都是離線計算的代表,離線計算就是計算前已經(jīng)有了所有需要計算的數(shù)據(jù),且每次計算都是所有的數(shù)據(jù)都參與的運算。因為每次都是一整批數(shù)據(jù)做計算,所以離線計算一般又叫批量計算。但是日常的事務(wù)中,有很多場景是需要不斷實時的更新數(shù)據(jù)的。

假設(shè)我們的USER表,現(xiàn)在因為有個新用戶注冊,多了一條用戶數(shù)據(jù)“蔡九,女,27”。離線計算就要把新數(shù)據(jù)匯總,然后再進行計算:

增加一條用戶日志,就要對全部的進行計算,在數(shù)據(jù)量非常龐大的時候,這根本是不可能的事情。所以我們還要另外一種計算方式,那就是流式計算。流式計算因其實時性,又常被叫做在線計算和實時計算。

以下是流式計算的過程,同樣的新增數(shù)據(jù),流失計算只要對新增數(shù)據(jù)進行計算,然后匯總更新:

流式計算引擎有:SPARK streaming,Storm和Flink。它們都可以提供流式計算的服務(wù),但是有些不同。

  • SPARK streaming是使用微批的方式計算流數(shù)據(jù)。微批就是小批量的意思。SPARK streaming并不是一條一條地計算新數(shù)據(jù)流,而且小批量的計算。比如幾分鐘算一次,或者幾十條算一次。像割韭菜那樣,等長夠高了,再收割,一茬又一茬。
  • Storm和Flink就是來一條計算一條地處理數(shù)據(jù)流了。像流水線作業(yè)那樣,不斷地逐個逐個處理。值得一提的是,最近兩年Flink很火,在推薦系統(tǒng)上被廣泛用來計算如用戶畫像等實時性較高的數(shù)據(jù)。

11 分布式結(jié)構(gòu)化存儲系統(tǒng):HBASE
前面說到谷歌三篇關(guān)于大數(shù)據(jù)的論文,這里再補充一下它們后來的演變結(jié)果:

  1. 分布式文件系統(tǒng):Google File System,演變成Hadoop的HDFS。
  2. 分布式并行計算框架:Google MapReduce,演變成Hadoop的MapReduce。
  3. 分布式數(shù)據(jù)庫:BigTable,演變成了另外一個大名鼎鼎的HBase。

這就是HBase的誕生。

HBase是一個NoSql數(shù)據(jù)庫。它在整個大數(shù)據(jù)生態(tài)中的定位是對數(shù)據(jù)進行實時的操作:查詢,更新,刪除和插入。前面說到HIVE是能處理大量數(shù)據(jù),但是速度慢且不能對數(shù)據(jù)進行修改,而MySql等傳統(tǒng)數(shù)據(jù)庫響應(yīng)快但是運算能力不足。HBase的出現(xiàn),就是為了解決這些問題。

NoSql數(shù)據(jù)庫的意思就是不支持SQL語句的數(shù)據(jù)庫,HBase有以下特征:

  • HBase最終存儲是基于HDFS的,有存儲海量數(shù)據(jù)能力。
  • HBase的增刪改查是分布式的,也就是一次修改,是多個節(jié)點服務(wù)器的修改。
  • HBase的表結(jié)構(gòu)跟關(guān)系型數(shù)據(jù)庫是不一樣的。
  • HBase有很快的讀取響應(yīng)速度。

為了方便理解,我們直接畫圖看HBase怎么工作。如何把我們的USER數(shù)據(jù)表放入HBase后,它是長成這樣子的:

其中:

  • rowkey是行鍵,是每行數(shù)據(jù)的編號。
  • Users_info叫做列族,是保存數(shù)據(jù)的表頭。
  • HBASE中,每個數(shù)據(jù)都被保存成為key:value的鍵值對,每個鍵值對叫做cell(單元格)。如name:張三就是一個cell。

MySql中,修改數(shù)據(jù)就會覆蓋掉舊數(shù)據(jù)。但是在HBase中,同個鍵值對可以保留多個數(shù)據(jù)版本。這個版本會以時間戳的形式來標記。如張三,有一天改名叫張三豐了,它并不會覆蓋掉原有的張三,而是兩個版本都保存起來。

如下如所示:

HBase有強大的讀取和增刪改查能力,加上可以保存不同時間的數(shù)據(jù)版本,在推薦系統(tǒng)中,用戶畫像的結(jié)果數(shù)據(jù),離線召回,近線召回等數(shù)據(jù),都是保存在HBase中。另外,HBase可以做到快速響應(yīng),推薦系統(tǒng)中需要快速讀取的數(shù)據(jù),都可以存在HBase中。

12 數(shù)據(jù)采集
大數(shù)據(jù)的誕生,并不是取代掉傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,而是變成一種補充。傳統(tǒng)數(shù)據(jù)庫存不下的數(shù)據(jù),大數(shù)據(jù)來存。傳統(tǒng)數(shù)據(jù)庫算不了的數(shù)據(jù),大數(shù)據(jù)來算。大數(shù)據(jù)系統(tǒng)只是把現(xiàn)有系統(tǒng)的數(shù)據(jù)采集到大數(shù)據(jù)中,做存儲和計算,對已有的業(yè)務(wù)流程和系統(tǒng)架構(gòu)并沒有什么影響。

將數(shù)據(jù)采集到大數(shù)據(jù),一般用到兩個工具:Sqoop、Flume。其實不同公司使用的數(shù)據(jù)采集工具不一樣,這里只是簡單的介紹。

關(guān)系型數(shù)據(jù)是我們最常見的一種數(shù)據(jù),Sqoop是關(guān)系型數(shù)據(jù)庫和大數(shù)據(jù)之間數(shù)據(jù)流動的一個橋梁。它可以用來將MySql和Oracle的數(shù)據(jù)導(dǎo)入HDFS,HBASE中,或者將大數(shù)據(jù)中的數(shù)據(jù)導(dǎo)入MySql或Oracle。

另外一種常見的數(shù)據(jù)是來自于日志系統(tǒng)的數(shù)據(jù),在生產(chǎn)環(huán)境中,我們的搜索,推薦,廣告服務(wù)每時每刻都在產(chǎn)生大量的流式日志。這些日志數(shù)據(jù)格式不一,形態(tài)各異,他們都是非結(jié)構(gòu)數(shù)據(jù)。

這些數(shù)據(jù)一般都是以文本的方式保存在各個業(yè)務(wù)系統(tǒng)中,對于推薦系統(tǒng)而言,最重要用戶的埋點行為數(shù)據(jù)就存在日志中。而對于這些非關(guān)系型數(shù)據(jù),我們需要采集到大數(shù)據(jù)的時候,就需要用到Flume。Flume可以采集批量數(shù)據(jù)也可以采集流數(shù)據(jù)。

這兩個工具知道作用即可,不用深究太多。

13 分布式消息隊列:KAFKA
采用Sqoop或者Flume做數(shù)據(jù)采集的時候,可以說是一對一的直采專線服務(wù)模式。我們把生產(chǎn)數(shù)據(jù)的系統(tǒng)叫生產(chǎn)者,消費數(shù)據(jù)的系統(tǒng)叫消費者。隨著系統(tǒng)的發(fā)展,一般生產(chǎn)者和消費者都會越來越多,全部一對一直采,連接數(shù)就會指數(shù)上升,且難以維護。如果生產(chǎn)者的數(shù)據(jù)沒能及時被消費者接收或者丟包,數(shù)據(jù)就會丟失。

為了解決這些問題,Kafka被創(chuàng)造了出來。

通過Kafka,生產(chǎn)者只要把數(shù)據(jù)打包好,標記好Topic,扔到Kafka的消息隊列上就可以了。而消費者,只要做的事情就是訂閱該生產(chǎn)者的Topic。當(dāng)有新的數(shù)據(jù)到達時,Kafka就會告知消費者去取。

數(shù)據(jù)會被暫時保存在Kafka的硬盤中一段時間(一般7天),消費者隨時可以來取。被保存的一系列數(shù)據(jù)塊,就是一個個按時間排序的消息隊列。同樣的,Kakfa也是分布式的,它會被安裝在多個節(jié)點中,數(shù)據(jù)也會被保存在多個節(jié)點中。

14 Lambda架構(gòu)
能看到這里,你已經(jīng)很不容易了,前面已經(jīng)將本文需要介紹的大數(shù)據(jù)組件講完了。

大數(shù)據(jù)實在是太龐大了,而且各司其職,分工得特別細。這么多大數(shù)據(jù)的框架,有離線計算和流式計算,不同的分布式存儲和不同的分布式工具,這些框架是怎么構(gòu)建成一個大數(shù)據(jù)系統(tǒng)的呢?

這就要介紹大數(shù)據(jù)的Lambda架構(gòu)。

Lambda架構(gòu)算大數(shù)據(jù)系統(tǒng)里面舉足輕重的架構(gòu),數(shù)據(jù)通道分為兩條分支:實時流和離線

實時流依照流式架構(gòu),保障了其實時性,而離線則以批處理方式為主,保障了最終一致性,適用于同時存在實時和離線需求的情況。

抽象掉所有的框架,可以把Lambda架構(gòu)簡化成如下方式:

推薦系統(tǒng)是個存儲和算力消耗的大戶,它需要離線計算,對時間不敏感的數(shù)據(jù)進行大批量的計算。也需要實時流式計算,對用戶畫像,物品畫像數(shù)據(jù)進行實時的更新。

把本章中說到的大數(shù)據(jù)的各個框架組件按照Lambda架構(gòu)的方式組建后,我們可以得到下圖:

實際的情況比上圖還要更復(fù)雜些,但是對于本文來說,借用機器學(xué)習(xí)的術(shù)語,再復(fù)雜就要“過擬合”了,適當(dāng)?shù)腄ropOut可以防止過擬合。扔掉一些,可能是更好的。

總結(jié)
千言萬語,匯總成一句話:大數(shù)據(jù)是由分布式存儲,分布式計算和輔助性組件構(gòu)成一個龐大的數(shù)據(jù)技術(shù)生態(tài)體系。它有幾個要知識點:

  1. 要理解分布式存儲的機制。因為數(shù)據(jù)量大,數(shù)據(jù)的存儲的最終載體是最簡單文本數(shù)據(jù),沒有很多花里胡哨的東西。這些文本數(shù)據(jù)被切割成多個數(shù)據(jù)塊,分布式地保存在不同的數(shù)據(jù)節(jié)點中。
  2. 要理解分布式計算中的MapReduce機制。理解HIVE的工作機制。理解什么是離線計算,什么是流式計算。
  3. 最后,可以的話,記住Lambda架構(gòu)。

寫在最后的話:

大數(shù)據(jù)太多知識點了,受篇幅所限,這次只選擇性地介紹推薦系統(tǒng)需要用到的大數(shù)據(jù)開源類組件。這個生態(tài)體系還在不斷的發(fā)展中,我也還在路上。不足之處,還請各路高手不吝指教。

下篇文章將介紹用戶畫像,敬請期待,謝謝!

 

責(zé)任編輯:梁菲 來源: 人人都是產(chǎn)品經(jīng)理
相關(guān)推薦

2022-04-20 11:10:17

bias推薦系統(tǒng)debias

2014-04-29 09:59:44

2018-04-03 13:08:31

2015-06-09 15:03:38

大數(shù)據(jù)豈止于大

2023-06-19 13:57:00

數(shù)據(jù)系統(tǒng)

2018-03-17 09:00:21

大數(shù)據(jù) 區(qū)塊鏈

2024-12-27 14:45:59

2015-03-17 11:28:03

大數(shù)據(jù)黃色小象Hadoop

2021-07-05 10:48:42

大數(shù)據(jù)實時計算

2017-05-05 12:59:00

大數(shù)據(jù)物聯(lián)網(wǎng)安全

2022-10-20 08:01:23

2019-01-30 09:30:50

大數(shù)據(jù)互聯(lián)網(wǎng)人工智能

2025-08-25 09:12:48

2022-08-27 10:37:48

電子取證信息安全

2021-08-04 16:06:45

DataOps智領(lǐng)云

2023-12-22 19:59:15

2021-09-17 13:34:57

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

2019-11-29 17:26:56

大數(shù)據(jù)分布式計算技術(shù)

2016-10-25 14:35:05

分布式系統(tǒng) 存儲

2022-06-14 09:01:06

TypeScript泛型
點贊
收藏

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

久久久国产精品视频| 亚洲综合区在线| 国产剧情久久久久久| 26uuu成人网| 嗯用力啊快一点好舒服小柔久久| 午夜精品久久久久久久99水蜜桃| 日本一区二区三区精品视频| 99久久精品国产一区二区成人| 亚洲大片av| 一区二区在线视频| www.555国产精品免费| 成人自拍视频网| 亚洲高清在线视频| 亚洲在线不卡| 飘雪影院手机免费高清版在线观看| 奇米影视一区二区三区小说| 久久久久国色av免费观看性色| 91视频免费观看网站| 国产剧情一区二区在线观看| 色综合久久中文综合久久牛| 永久免费看av| 91在线导航| 91蝌蚪porny| 成人av免费电影| 亚洲综合五月天婷婷丁香| 一本色道久久| 欧美国产在线电影| 久久人妻无码aⅴ毛片a片app | 久久久久久久久免费看无码| 永久免费观看精品视频| 色综合中文字幕| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 99在线观看视频网站| 国产精品午夜一区二区| 国产一区二区三区成人欧美日韩在线观看| 久久伊人色综合| 人与嘼交av免费| 美国成人xxx| 日韩欧美电影一二三| 成人综合久久网| 国产精品无码久久久久| 色94色欧美sute亚洲线路一ni| 日韩国产一级片| 欧美精品videossex少妇| 中文字幕一区二区三区不卡在线| 欧美久久电影| 头脑特工队2免费完整版在线观看| 国产传媒一区在线| 成人自拍性视频| 国产毛片一区二区三区va在线| 男女视频一区二区| 国产精品69av| 特级做a爱片免费69| 精品成人国产| 韩国日本不卡在线| 国产一级在线播放| 伊人久久亚洲热| 91国产一区在线| 青青国产在线观看| 国产美女诱惑一区二区| 欧美在线视频网站| 五月婷婷激情视频| 日韩成人dvd| 国产一区欧美二区三区| 亚洲香蕉在线视频| 国产精品亚洲专一区二区三区| 91久久国产精品91久久性色| 国产乱码一区二区| 国产精品亚洲综合一区在线观看| 国产精品日本一区二区| 视频一区 中文字幕| 久久久www成人免费无遮挡大片| 欧美日韩综合网| 成年人在线看| 亚洲人成在线播放网站岛国| 欧美一级爱爱视频| 国产黄大片在线观看| 色哟哟精品一区| 国产喷水theporn| 日韩视频一二区| 日韩av在线免费播放| 久久久久亚洲av无码a片| 久久激情电影| 久久久亚洲天堂| 成人h动漫精品一区二区下载| 免费人成精品欧美精品| 92福利视频午夜1000合集在线观看| 亚洲国产精品18久久久久久| 91亚洲精品一区二区乱码| 欧美在线一二三区| www在线观看播放免费视频日本| 亚洲午夜久久久久久久久电影网| 男人操女人免费| 黄色精品视频网站| 亚洲激情视频在线播放| gv天堂gv无码男同在线观看| 久久久精品久久久久久96| 午夜精品久久久久久久久久久久| 久草视频在线免费| 国产91丝袜在线播放| 欧美一区观看| 七七久久电影网| 欧美性感一类影片在线播放| 国产成人精品一区二区三区在线观看 | 人与动物性xxxx| 影音国产精品| 国产精自产拍久久久久久| 亚洲经典一区二区三区| 国产亚洲精品久| 91视频 - 88av| 精品裸体bbb| 日韩不卡在线观看| 精品无码久久久久成人漫画 | 欧美亚洲激情视频| a天堂在线观看视频| 久久久久久久久岛国免费| 91免费视频黄| 电影一区二区| 亚洲欧美另类人妖| 亚欧洲精品在线视频| 国内一区二区在线| 视频一区二区在线| 麻豆理论在线观看| 亚洲高清久久久久久| 国精产品一区一区二区三区mba| 欧美中文字幕| 精品一区久久| 国产三线在线| 日韩一区二区在线观看视频| 亚洲综合久久av一区二区三区| 亚洲一级在线| 好吊色欧美一区二区三区四区| 主播国产精品| 日韩小视频在线观看专区| 日本在线观看网址| 日韩1区2区日韩1区2区| 欧美理论一区二区| 中文在线аv在线| 日韩www在线| 97免费在线观看视频| 成人高清视频免费观看| 黄色一级片黄色| 午夜视频一区二区在线观看| 久久伊人色综合| 99久久精品无免国产免费| 国产精品福利一区| 国产欧美一区二| 天天综合精品| 亚洲aⅴ男人的天堂在线观看| 日本在线观看免费| 欧美高清精品3d| 久久高清内射无套| 国产一区二区成人久久免费影院| 欧美精品一区二区性色a+v| 欧美成人福利| 久久香蕉国产线看观看网| 99热这里是精品| 亚洲已满18点击进入久久| 亚洲av午夜精品一区二区三区| 欧美1区3d| 国产日韩二区| 日本在线影院| 国产午夜精品视频| 伊人影院中文字幕| 亚洲欧美另类图片小说| 丰满人妻一区二区三区大胸| 影音先锋一区| 欧美日韩一区二区三区免费| 日日夜夜天天综合| 久久久91精品国产| 蜜桃av噜噜一区二区三区麻豆| 亚洲国产成人av网| 91网站免费视频| 麻豆成人综合网| 亚洲小视频在线播放| 精品淫伦v久久水蜜桃| 国产suv精品一区二区三区88区| www.亚洲.com| 欧美成人欧美edvon| 国产高清中文字幕| 国产精品电影一区二区三区| 欧美一区二区三区影院| 在线一区免费观看| 亚洲精品一区二区三| 久久在线观看| 欧美一区亚洲一区| 欧美黑人激情| 亚洲国产小视频在线观看| 国产一级淫片a视频免费观看| 中文字幕中文在线不卡住| 熟妇高潮一区二区| 热久久久久久久| 亚洲爆乳无码精品aaa片蜜桃| 九色精品国产蝌蚪| 亚洲xxxx视频| 写真福利精品福利在线观看| 欧美丰满少妇xxxxx| 久久久久国产精品嫩草影院| 91精品国产乱码| 成人毛片在线播放| 一区二区三区小说| 亚洲码无人客一区二区三区| 国产黄色成人av| 又色又爽又高潮免费视频国产| 你懂的亚洲视频| 亚洲成人18| 欧美有码在线| 99国产精品久久久久老师| 色香欲www7777综合网| 欧美精品www| 激情在线小视频| 国产亚洲欧美视频| 天堂在线视频免费| 日韩一区二区三区视频在线观看| 中文人妻av久久人妻18| 亚洲影院久久精品| 日本黄色小说视频| 国产精品色眯眯| 天堂久久精品忘忧草| 成人久久久精品乱码一区二区三区| 伊人色在线观看| 久久在线精品| 国产最新免费视频| 亚洲经典自拍| 成年人网站国产| 欧美激情一级片一区二区| 一区二区日本| 日韩精品中文字幕第1页| 久久国产精品高清| 国产精品qvod| 成人看片在线| 97品白浆高清久久久久久 | 亚洲视频一起| 92看片淫黄大片看国产片| 日韩深夜福利网站| 国产精品主播视频| 国产精品字幕| 国产精品爽黄69天堂a| 日韩中文影院| 国产va免费精品高清在线| 国产精品专区免费| 日韩美女免费线视频| 性xxxxfreexxxxx欧美丶| 91精品国产91久久久| 天天综合av| 欧美在线视频观看| 亚洲国产成人二区| 欧美亚洲激情在线| 碰碰在线视频| 国产成人极品视频| 日韩一级二级| 国产精品欧美激情在线播放| 四虎成人在线| 国产精品入口免费视频一| 国产成人免费| 成人免费视频a| 91精品入口| 国产麻豆日韩| 精品一区亚洲| 色涩成人影视在线播放| 色综合久久网| 国产资源第一页| 激情自拍一区| 欧美精品一区二区三区免费播放| 日韩成人av影视| 黄色小视频免费网站| 九九热在线视频观看这里只有精品| 视频免费1区二区三区| 精久久久久久久久久久| 少妇伦子伦精品无吗| av在线不卡电影| 无码国产69精品久久久久同性| 欧美激情综合五月色丁香小说| 色撸撸在线视频| 国产精品亲子伦对白| avove在线播放| 福利一区视频在线观看| www.久久网| 欧美一区二区成人6969| 天天爱天天干天天操| 在线播放国产精品| 午夜激情在线| 日韩av电影国产| 国产一区精品二区| 久久久久久亚洲精品不卡4k岛国| 国产一区二区三区不卡视频网站| av电影一区二区三区| 亚洲毛片视频| 三上悠亚在线一区| 成人精品视频一区二区三区| 亚洲精品色午夜无码专区日韩| 亚洲视频一二区| 国产成人在线播放视频| 欧美日韩激情一区二区| 亚洲精品视频91| 国产午夜精品一区理论片飘花| 国产精品久久麻豆| 国产成人精品国内自产拍免费看| 国产欧美88| 欧美aaaaa喷水| 欧美午夜不卡影院在线观看完整版免费| 日韩中文字幕在线视频观看| 激情成人综合网| 无码人妻精品一区二区中文| 亚洲精品高清在线观看| 国产一区二区视频网站| 亚洲精品在线观看网站| av播放在线观看| 45www国产精品网站| 一区二区三区高清在线观看| 色噜噜一区二区| 国产精品毛片在线| 亚洲一区二区三区四区精品| 国产日韩高清在线| 一级aaa毛片| 欧美一区二区久久| 91高清在线视频| 欧美亚洲国产视频| 国产伦精品一区二区三区在线播放| 水蜜桃亚洲精品| 国产精品综合| 成人在线视频免费播放| 一区二区三区在线视频免费 | 亚洲护士老师的毛茸茸最新章节| 免费在线看黄色| 国产精品高清在线观看| 特黄特色欧美大片| 久久久久久www| 国产精品中文有码| 日韩三级在线观看视频| 欧美吞精做爰啪啪高潮| 日本电影一区二区在线观看| 久久久亚洲天堂| 国产91精品入| 无码日本精品xxxxxxxxx| 国产一区二区三区黄视频| 日本不卡一区视频| 欧美自拍偷拍一区| 国产露出视频在线观看| 国产成人久久久精品一区| 一本色道久久综合狠狠躁的番外| www.av片| 91麻豆国产自产在线观看| 影音先锋亚洲天堂| 亚洲电影免费观看高清完整版在线 | 久久综合中文字幕| 国产情侣自拍av| 日韩激情第一页| 香蕉视频亚洲一级| 日韩欧美精品在线不卡| 免费在线观看成人| 成人在线观看小视频| 欧美mv日韩mv| 激情影院在线| 久久精品国产第一区二区三区最新章节| 伊人影院久久| 在线免费观看日韩av| 色女孩综合影院| 亚洲成人三级| 99一区二区三区| 99热在线精品观看| 午夜时刻免费入口| 欧美日韩视频在线第一区| 黄色在线播放网站| 99在线热播| 欧美在线综合| 午夜精品一区二区三级视频| 日韩欧美国产高清| а√天堂资源官网在线资源| 久久精品日产第一区二区三区乱码 | 91禁国产网站| 欧美特黄一级大片| 91亚洲一区二区| 午夜欧美在线一二页| 人成免费电影一二三区在线观看| 国产精品自产拍在线观看中文| 希岛爱理一区二区三区| 性活交片大全免费看| 色爱区综合激月婷婷| 国产激情视频在线观看| 久精品国产欧美| 免费成人你懂的| 欧美精品一区二区成人| 亚洲欧美日韩中文在线| 四虎精品一区二区免费| 久久久久久免费看| 国产精品久久久久久久第一福利 | 一级全黄肉体裸体全过程| 丁香一区二区三区| 亚洲午夜无码久久久久| 久久久人成影片一区二区三区观看 | caoporn视频在线| 亚洲精品影院| www.爱久久.com| 97超碰人人草| 日本aⅴ大伊香蕉精品视频| 欧美在线网址| 国产7777777| 日韩电影中文 亚洲精品乱码| 欧美美女被草|