Hadoop生態(tài)系統(tǒng)應(yīng)用狀況大調(diào)查:互聯(lián)網(wǎng)篇!
國內(nèi)外對Hadoop生態(tài)系統(tǒng)的生存狀況爭論不休,既然如此,我們不妨摸底調(diào)查一番,看看國內(nèi)一線互聯(lián)網(wǎng)公司(具備自我搭建大數(shù)據(jù)平臺(tái)能力的廠商)的大數(shù)據(jù)平臺(tái)是如何搭建的?是否基于Hadoop生態(tài)系統(tǒng)?Hadoop的存在感有多少?龐大的Hadoop生態(tài)系統(tǒng)中又有哪些組件真正脫穎而出了呢?(本文內(nèi)容來源于公開資料整理)
BAT之阿里巴巴
如果要論數(shù)據(jù),恐怕只有以電商起家的阿里巴巴才能擁有如此豐富且龐大的數(shù)據(jù)。有業(yè)務(wù)場景也有技術(shù)能力,阿里巴巴的大數(shù)據(jù)實(shí)力不容置疑。目前,阿里巴巴對外提供基于阿里云的大數(shù)據(jù)服務(wù)。眾多大數(shù)據(jù)產(chǎn)品中,筆者看到了Elasticsearch的身影。
在數(shù)據(jù)分析和搜索等方面,阿里提供基于開源Elasticsearch及商業(yè)版X-Pack插件。Elasticsearch想必大家都不陌生,是繼Hadoop之后非常受歡迎的后起之秀。阿里巴巴的大數(shù)據(jù)解決方案中會(huì)有它的出現(xiàn)一點(diǎn)也不讓人驚訝,有了Elasticsearch還有Hadoop的用武之地嗎?
在阿里巴巴早年的數(shù)加平臺(tái)(整個(gè)大數(shù)據(jù)部分統(tǒng)稱為數(shù)加)介紹中,阿里云大數(shù)據(jù)事業(yè)部數(shù)加平臺(tái)技術(shù)負(fù)責(zé)人陳廷曾表示,阿里統(tǒng)一的自主可控的大數(shù)據(jù)平臺(tái)是在Hadoop的基礎(chǔ)上構(gòu)建的,這套平臺(tái)支撐了阿里很重要的一些業(yè)務(wù),可見Hadoop對于阿里大數(shù)據(jù)平臺(tái)的構(gòu)建起到了至關(guān)重要的作用。
BAT之騰訊
騰訊的數(shù)據(jù)量雖然也不小,但多來源于社交數(shù)據(jù)。在離線數(shù)據(jù)處理的介紹中,我們看到騰訊大數(shù)據(jù)套件基于Hadoop體系的MapReduce、HIVE、PIG、Spark技術(shù)向企業(yè)用戶提供強(qiáng)大的數(shù)據(jù)離線批處理能力。

除此之外,Hadoop生態(tài)體系還包括Yarn、HBase、Sqoop、Ambari、Zookeeper、Flume、Kafka、Storm、Spark Streaming、Elastic Search、Impala、Presto、HAWQ、HUE、Log Search、Solr、Kylin。
很多人認(rèn)為Hadoop生態(tài)體系中實(shí)力最弱的就是MapReduce,然而目前的騰訊大數(shù)據(jù)體系中仍然可以看到MapReduce的身影,不知道之后是否會(huì)考慮更換。
BAT之百度
百度的數(shù)據(jù)與上述兩家又不同,百度的數(shù)據(jù)來源多為搜索數(shù)據(jù),依托自身百度引擎。進(jìn)入百度的大數(shù)據(jù)產(chǎn)品頁面,可以發(fā)現(xiàn)百度主打的招牌是“智能”。百度的大數(shù)據(jù)產(chǎn)品中應(yīng)用了大規(guī)模的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等能力。

百度的大數(shù)據(jù)基礎(chǔ)套件“魯班”的基礎(chǔ)架構(gòu)如下,可以很直觀地看到,百度大數(shù)據(jù)基礎(chǔ)套件中的Kafka和YARN均來源于Hadoop生態(tài)系統(tǒng)。
京東:
京東的電商業(yè)務(wù)和物流業(yè)務(wù)如今也是越做越大,京東大數(shù)據(jù)部為了解決公司越來越廣泛的實(shí)時(shí)業(yè)務(wù)需求,推出了一整套技術(shù)解決方案——JRDW(JD Realtime Data Warehouse)。

根據(jù)介紹,整個(gè)大數(shù)據(jù)平臺(tái)有不少開源組件的加入,京東大數(shù)據(jù)部門在開源組件的基礎(chǔ)上又針對其缺點(diǎn)進(jìn)行了部分調(diào)整,形成了最終框架。在后期的發(fā)展中,京東意識(shí)到如果要搭建一個(gè)穩(wěn)定可靠的實(shí)時(shí)任務(wù)運(yùn)行平臺(tái)很重要,通過對Storm、Hadoop、HBase、Kafka等的研究,京東自主開發(fā)了高可用調(diào)度平臺(tái)Magpie。
圖中可以很直接地看出Hadoop的身影,明顯Hadoop對其大數(shù)據(jù)平臺(tái)架構(gòu)的搭建過程起到了啟發(fā)作用。
美團(tuán):
美團(tuán)的大數(shù)據(jù)平臺(tái)主要支撐了美團(tuán)的到店餐飲、到店綜合、酒店旅游、貓眼電影、外賣配送等業(yè)務(wù),中間則是基礎(chǔ)數(shù)據(jù)部,最下層基于美團(tuán)云。如果將基礎(chǔ)數(shù)據(jù)部放大,基本如下圖所示:

離線計(jì)算部分是基于Hadoop的數(shù)據(jù)倉庫數(shù)據(jù)應(yīng)用。具體到組件,基礎(chǔ)服務(wù)層有HDFS和YARN的參與,計(jì)算引擎層有HBase、Kylin、Hive、Spark、Presto等來自Hadoop生態(tài)系統(tǒng)的組件參與。

根據(jù)一年前的統(tǒng)計(jì)數(shù)據(jù),這套平臺(tái)有42P+總存儲(chǔ)量,每天有15萬個(gè)MapReduce和Spark任務(wù),現(xiàn)在想必?cái)?shù)據(jù)量和復(fù)雜度已經(jīng)再一次升高了。
網(wǎng)易:
網(wǎng)易的一站式大數(shù)據(jù)管理和應(yīng)用開發(fā)平臺(tái)——網(wǎng)易猛犸,覆蓋了大閨蜜數(shù)據(jù)存儲(chǔ)與計(jì)算、應(yīng)用開發(fā)、數(shù)據(jù)管理與集成等場景。

在其公布的大數(shù)據(jù)架構(gòu)圖中,我們可以看到底層基本完全構(gòu)建于Hadoop生態(tài)系統(tǒng),數(shù)據(jù)集成、數(shù)據(jù)存儲(chǔ)、資源管理都和Hadoop生態(tài)系統(tǒng)有關(guān)。這套系統(tǒng)支持HDFS、Hbase、Kudu等從GB到PB級別的存儲(chǔ)方案,支持Hive和MapReduce等批量計(jì)算、Spark內(nèi)存計(jì)算、Kylin多維分析等多種計(jì)算方案。
今日頭條:
2014年之前,今日頭條并沒有專門的人負(fù)責(zé)做數(shù)據(jù)。隨著活躍用戶數(shù)的迅猛增長,各種各樣的需求不斷,今日頭條意識(shí)到幾個(gè)數(shù)據(jù)工程師單打獨(dú)斗根本解決不了問題,于是數(shù)據(jù)平臺(tái)團(tuán)隊(duì)成立了。
該團(tuán)隊(duì)將Hadoop、Hive、Spark和Kylin等封裝成工具,將工具與分析模式相結(jié)合包裝成解決方案以提供給業(yè)務(wù)部門。在數(shù)據(jù)生成與采集方面,今日頭條使用Spark實(shí)現(xiàn)類Sqoop的分布式抓取;在數(shù)據(jù)傳輸方面,采用Kafka作為數(shù)據(jù)總線,連接在線和離線系統(tǒng);在數(shù)據(jù)計(jì)算方面,今日頭條使用了Spark SQL和Hive;在Cube類查詢引擎,今日頭條已經(jīng)成為Kylin國內(nèi)最大使用用戶之一。
滴滴:
作為目前最大且最活躍的獨(dú)角獸企業(yè),滴滴的大數(shù)據(jù)架構(gòu)部門十分年輕,成立時(shí)間僅一年有余。去年,滴滴宣布向各地交通管理部門開放“滴滴交通信息平臺(tái)”數(shù)據(jù),而滴滴當(dāng)時(shí)的平臺(tái)日訂單量已經(jīng)超過2000萬,流量高峰期每分鐘接到的用戶需求高達(dá)兩萬次。

從圖中不難看出,滴滴大數(shù)據(jù)平臺(tái)分為多個(gè)組成部分,數(shù)據(jù)加工和數(shù)據(jù)采集兩階段明顯用到了不少Hadoop生態(tài)系統(tǒng)的組件,數(shù)據(jù)加工部分完全依托Hadoop生態(tài)系統(tǒng)。
知乎
截止2017年8月,知乎注冊用戶數(shù)破億,全站DAU達(dá)2600萬,月瀏覽量180億......知乎大數(shù)據(jù)架構(gòu)分為數(shù)據(jù)采集、數(shù)據(jù)計(jì)算、數(shù)據(jù)服務(wù)和數(shù)據(jù)產(chǎn)品層。

對于很多公司都會(huì)出現(xiàn)的MySQL數(shù)據(jù)實(shí)時(shí)查詢需求,知乎調(diào)研了Hive和HBase,但最后選擇了將BinLog實(shí)時(shí)打入Kafka,起一套Spark Streaming程序,將數(shù)據(jù)寫入Kudu,這樣做的性能會(huì)更高一些。雖然這部分組件來源Hadoop生態(tài)系統(tǒng),但知乎內(nèi)部架構(gòu)師曾表示公司正在考慮采用TiDB。
新浪
新浪同樣掌握著大量社交數(shù)據(jù),在之前有關(guān)新浪大數(shù)據(jù)體系架構(gòu)的介紹中,我們可以了解到新浪的技術(shù)架構(gòu)同樣基于Hadoop生態(tài)圈,最下面是日志接受傳輸,然后進(jìn)入Hadoop層,在這之上是ETL數(shù)據(jù)的整合,隨后是中央數(shù)據(jù)倉庫,數(shù)據(jù)挖掘、實(shí)時(shí)統(tǒng)計(jì)與計(jì)算等操作。
近幾年,隨著新技術(shù)的不斷發(fā)展,新浪的大數(shù)據(jù)體系也在不斷改變,但Hadoop生態(tài)體系依舊占據(jù)著重要位置。
58同城
58的大數(shù)據(jù)體系主要分為數(shù)據(jù)應(yīng)用、數(shù)據(jù)應(yīng)用平臺(tái)、數(shù)據(jù)基礎(chǔ)平臺(tái)三層。在接入層,58使用了Canal/Sqoop解決數(shù)據(jù)接入問題,另一部分?jǐn)?shù)據(jù)使用Flume,其中Sqoop和Flume均來源于Hadoop生態(tài)體系;存儲(chǔ)層全是熟人:HDFS、HBase、Kafka;調(diào)度層是Yarn;計(jì)算層全部來自于Hadoop生態(tài)體系,比如MR、Hive等。

......
總結(jié)
最新調(diào)查結(jié)果顯示,中國每年進(jìn)口最多的不是石油,而是芯片。國內(nèi)一線互聯(lián)網(wǎng)公司的大數(shù)據(jù)生態(tài)體系建設(shè)基本被Hadoop包圓,這種存在感快趕上芯片在中國的地位了。龐大的Hadoop生態(tài)體系中,MapReduce、HDFS、Kafka和Yarn的出現(xiàn)頻度最高。然而,不少言論都認(rèn)為MapReduce的市場競爭力在逐漸減弱,如今這個(gè)應(yīng)用狀況似乎一點(diǎn)失寵的意思都沒有啊!