Hadoop已死?Hadoop萬歲!
各種博客文章、雜志投稿中,“Hadoop已死”的說法死灰復(fù)燃,且又開始甚囂塵上。近年來,Cloudera不再滿足于Hadoop開源平臺的身份,轉(zhuǎn)而以企業(yè)數(shù)據(jù)公司的身份進(jìn)行營銷。如今,Cloudera已經(jīng)進(jìn)入企業(yè)數(shù)據(jù)云市場:混合云/多云服務(wù),統(tǒng)一的安全體系和管理,多功能分析——都得益于Hadoop的開源服務(wù)。
話雖如此,在“Hadoop已死”這一負(fù)面論調(diào)的汪洋大海中航行,還是困難重重。
Hadoop是什么?
首先,從最基本的層面來講——Hadoop最初是Apache 軟件基金會的一個開源項(xiàng)目。后來,Map/Reduce 和 HDFS也分別被納入這一項(xiàng)目中,很快就形成了一個廣泛而豐富的開源生態(tài)系統(tǒng)。如今,Cloudera的“Hadoop發(fā)行版”(CDH/HDP/CDP)包含30多個開源項(xiàng)目,涵蓋存儲、計(jì)算平臺(例如YARN,以及未來的Kubernetes)、批處理/實(shí)時計(jì)算框架(Spark、Flink等)、編排、SQL、NoSQL、ML、安全/管理等等。
所以,如果把Hadoop僅僅定義為MapReduce,那么,MapReduce的確正在衰落。但這并不妨礙Spark、Flink以及其他技術(shù)的興起——這使客戶感到高興。這就是平臺的美妙和強(qiáng)大之處——它可以進(jìn)化,可以擁抱新的范式。
那么,如果Hadoop不是一個“項(xiàng)目”或“一組項(xiàng)目”,它又是什么呢?
“Hadoop”是一種哲學(xué)——是一場運(yùn)動,是管理和分析數(shù)據(jù)的現(xiàn)代化體系結(jié)構(gòu)的發(fā)展。
“Hadoop 哲學(xué)”
“Hadoop 哲學(xué)”始終遵循以下原則:
1. 轉(zhuǎn)向分解軟件堆棧,將每一層(存儲、計(jì)算平臺、批處理/實(shí)時/SQL計(jì)算框架等)構(gòu)建為可組合的樂高積木,而不是單一且不靈活的軟件棧(例如以垂直方式整合的具有定制存儲格式、解析器、執(zhí)行引擎等的數(shù)據(jù)庫。
- 尤其是,通過建立開放的元數(shù)據(jù)、安全和管理平臺來協(xié)調(diào)分解的堆棧,有助于實(shí)現(xiàn)這一點(diǎn)。
2. 轉(zhuǎn)向用于大型分布式系統(tǒng)的商品硬件,而不再是專有/單片硬件+軟件堆棧。
- 在經(jīng)濟(jì)學(xué)理論中,商品被定義為一種物品或服務(wù),具有充分的可替代性和廣泛的可獲得性,這通常會導(dǎo)致較小的利潤率,使價格以外的因素(如品牌)變得并不那么重要。
- 請參閱下面的討論,了解商品硬件在架構(gòu)上如何很好地轉(zhuǎn)化為公共云。
3. 轉(zhuǎn)向利用開放數(shù)據(jù)標(biāo)準(zhǔn)和開源技術(shù),而不是專有的、供應(yīng)商控制的技術(shù)。這不僅僅是開放標(biāo)準(zhǔn)——標(biāo)準(zhǔn)是實(shí)現(xiàn),而不僅僅是“規(guī)范”。
4. 轉(zhuǎn)向靈活多變的技術(shù)生態(tài)系統(tǒng)(MRv1 -> YARN -> K8s, MapReduce -> Spark/Flink等),而不是對所有的整體堆棧一刀切,從而在每一層都能實(shí)現(xiàn)創(chuàng)新。
從某種層面來說,“Hadoop哲學(xué)”對于數(shù)據(jù)架構(gòu)來說,就像著名的Unix 哲學(xué)對于軟件開發(fā)一樣,Eric Raymond在其著作《Unix編程藝術(shù)》中闡述了17條Unix規(guī)則,同樣適用于該領(lǐng)域:
1. 模塊原則:使用簡潔的接口拼合簡單的部件。
• HDFS, YARN/K8s, Spark, Hive等既可以相互組合,又相互依賴。
3. 組合原則:設(shè)計(jì)時考慮拼接組合。
• Impala,Hive, Spark等可用于端到端的解決方案。
4. 分離原則:策略同機(jī)制分離,接口同引擎分離。
• HDFS既是文件系統(tǒng)接口,也是文件系統(tǒng)實(shí)現(xiàn)。這就是Spark通過Hadoop兼容文件系統(tǒng)“API”與S3對話的原因。
6. 吝嗇原則:除非確無它法,不要編寫龐大的程序。
• 避免出現(xiàn)“大”而“胖”的層,而是使用依賴于其他層的模塊化層,例如Phoenix和HBase。
7. 透明性原則:設(shè)計(jì)要可見,以便審查和調(diào)試。
• 開源FTW!
16. 多樣原則:決不相信所謂“不二法門”的斷言。
• Hadoop生態(tài)系統(tǒng)提供了多種工具,因?yàn)樗鼈冞m用于不同的場景,并且具有不同的優(yōu)勢(可以通過Spark或Hive實(shí)現(xiàn)ETL,通過Hive/Tez或Impala實(shí)現(xiàn)SQL,通過LLAP或SparkSQL實(shí)現(xiàn)SQL)。
17. 擴(kuò)展原則:設(shè)計(jì)著眼未來,未來總比預(yù)想來得快。
• 在2005-2006年時,很難預(yù)測到HBase, Hive, Impala, Spark, Flink, Kafka等產(chǎn)品的出現(xiàn),但在過去13年多的時間里,它們成為了高質(zhì)產(chǎn)品和堆棧的關(guān)鍵組件,這已經(jīng)是很好的成果了。
云是什么呢?
如今,公共云(以及私有云)顯然將成為企業(yè)部署體系結(jié)構(gòu)中不可或缺的一部分。
公共云本質(zhì)上就是企業(yè)硬件基礎(chǔ)設(shè)施(服務(wù)器、網(wǎng)絡(luò)、數(shù)據(jù)中心等)的商品化。因此,它完全符合Hadoop哲學(xué)的原則——專注于商品硬件。此外,整個Hadoop生態(tài)系統(tǒng)一直都是為了“變形”和吸收新影響而構(gòu)建的——Tom White在2006年編寫了第一個S3-Hadoop連接器,Amazon在2009年引入了EMR服務(wù)。
與此相比,傳統(tǒng)數(shù)據(jù)庫供應(yīng)商很難分解單個的、高度工程化、融合一體化的硬件/軟件堆棧,并使它們在公共云中進(jìn)行“本地化”工作。
不幸的是,就整個行業(yè)來說,沒能很好的幫助市場(尤其是金融市場)理解Hadoop與傳統(tǒng)技術(shù)在公共云方面的區(qū)別。這值得思考,且亟待改善。
亞馬遜的 EMR、Azure的HDInsight,以及谷歌的Dataproc都是很好的例子,能夠很好地說明“Hadoop”是如何在客戶群的公共云中大規(guī)模推動巨頭價值和業(yè)務(wù)的。
Cloudera是什么?
Cloudera是一家數(shù)據(jù)公司。這家公司能夠?qū)?shù)據(jù)轉(zhuǎn)化為清晰且可操作的觀點(diǎn),這主要是通過“Hadoop哲學(xué)”來實(shí)現(xiàn)的。我們建立了這個市場——為自己的過去感到驕傲,但并沒有被蒙蔽。我們借力于技術(shù)浪潮(公共云、Kubernetes等),這不僅有益于客戶,也符合公司的使命。
即使再過一百年,企業(yè)依然會希望將數(shù)據(jù)轉(zhuǎn)化為觀點(diǎn)。這是我們正在做的,并將持續(xù)做下去。
有些事情確實(shí)發(fā)生了改變——這需要引起注意。五年前,當(dāng)我們還是IT技術(shù)時,就獲得了通行證。所有的酷小孩都想和我們一起玩,把他們能找到的所有用例分享過來,還向他們的朋友們炫耀我們。在某種程度上,當(dāng)時的主流情緒是“已經(jīng)知道答案是Hadoop——那么問題是什么?”。這導(dǎo)致在產(chǎn)品生命周期的早期出現(xiàn)了一些不合理的、不切實(shí)際的期望。現(xiàn)在我們需要努力去說服客戶,才能讓其使用我們的產(chǎn)品,但是帶給他們的價值和理念是毋庸置疑的。我們還需要說服客戶使用如CDP之類的技術(shù)。但他們今天確實(shí)在與我們合作,正如他們在集體平臺上運(yùn)行的數(shù)千BP的數(shù)據(jù)和數(shù)百萬分析程序所證明的那樣!
本質(zhì)上,通過參與用戶和企業(yè)存儲/管理/保護(hù)/控制/分析數(shù)據(jù)的用例,我們將繼續(xù)蓬勃發(fā)展。隨著“Hadoop已死”的說法重現(xiàn)又消退,我們會被誤解,也愿意被誤解一段時間——因?yàn)槲覀冎匾暯Y(jié)果。所有偉大的公司都會時不時的被誤解,堅(jiān)持到最后就是勝利者。
Gartner分析師Merv Adrian喜歡講述這樣一個故事,一個客戶說他最喜歡的“Hadoop應(yīng)用程序”就是在S3中使用了帶有Spark的Tensorflow。Merv問他為什么選擇Hadoop,他回答是因?yàn)镠adoop團(tuán)隊(duì)創(chuàng)建了它。而且,使用的Spark來自Hadoop發(fā)行版。因此,Merv指出:“通常,旁人才能看出Hadoop的價值所在。”
CDP的基本目標(biāo)是確保使用云服務(wù)能讓企業(yè)更容易從平臺獲得價值,而無需處理技術(shù)的復(fù)雜性。尤其是,使用CDP提供的用于數(shù)據(jù)倉庫和機(jī)器學(xué)習(xí)的本地SaaS式服務(wù)經(jīng)驗(yàn),使得業(yè)務(wù)用戶能夠輕松分析存儲在云空間中的數(shù)據(jù)。此外,SDX使得使用ABAC和細(xì)粒度策略跨存儲在對象存儲和on-prem HDFS中的數(shù)據(jù)建立完全安全的數(shù)據(jù)湖變得非常簡單,還提供了用于治理和加密(存儲和在線)的來源和沿襲。在這方面取得的進(jìn)展令人興奮——正如從許多企業(yè)客戶反饋中看到的那樣!
那么,Hadoop已經(jīng)死去了嗎?
對Hadoop舊的認(rèn)知已經(jīng)過時了——塵埃落定。Hadoop作為一種理念,正在推動著開源技術(shù)生態(tài)系統(tǒng)和開放數(shù)據(jù)標(biāo)準(zhǔn)不斷發(fā)展,使人們能夠?qū)?shù)據(jù)轉(zhuǎn)化為觀點(diǎn),這種理念是鮮活而持久的。
只要有數(shù)據(jù),就會有Hadoop。
Hadoop的舊理念已死。Hadoop的新理念長青。