Hadoop已死,Hadoop萬歲
- 2019 年 10 月 4 日
- 筆記

雲,在地平線之內
最近又有很多關於「Hadoop已死」的論調,似乎每隔一段時間就會有一些類似的文章或聲音。幾年前Cloudera就已經停止了以Hadoop來營銷自己,而是一家企業數據公司。如今,Cloudera也已進入企業數據云市場:混合/多雲和多功能分析,具有通用的安全和治理,所有這些都由開源提供支援。
話雖如此,但要挑戰如潮水般「Hadoop已死」的負面消息,還是有難度的。我的看法是Hadoop代表的是數據領域的開源社區,這個社區本就是由我們共同創造和維護的,這一點在13多年的時間裡,我從未改變。
什麼是Hadoop
讓我們從基礎開始 – Hadoop作為Apache軟體基金會的一個開源項目開始,使用HDFS和MapReduce實現批量應用,但很快就擴展成為一個廣泛、豐富和開放的生態系統。今天Cloudera的「Hadoop發行版」(CDH/HDP/CDP)包含30多個開源項目,涉及存儲,計算平台(比如YARN和未來的Kubernetes),批量/實時計算框架(Spark,Flink等),編排,SQL,NoSQL,ML,安全/治理等等。
所以,如果你認為Hadoop僅僅就是MapReduce,那麼是的,我同意 – MapReduce正在沒落。但這與Spark,Flink以及其它所有我們所接受的創新都沒有關係,這些新特性或創新令我們的客戶也非常滿意。這就是這個平台的美麗與強大之處 – 它可以演變為擁抱新的範例。
那麼,如果Hadoop不是「項目」或一組項目,它是什麼?
就個人而言,「Hadoop」是一門哲學 – 向管理和分析數據現代架構的轉變。
呃,再說一次?
「Hadoop哲學」
Hadoop哲學一直遵循以下原則:
1.向每個層(存儲,計算平台,批處理/實時/SQL等計算框架)分解軟體棧的轉變,構建為可組合的樂高積木,遠離單一且不靈活的軟體棧(例如具有自定義存儲格式,解析器以及執行引擎等垂直整合的資料庫)。
a)特別是,這有助於建立一個開放元數據,安全和治理的平台,以讓分解的軟體棧和諧相處。
2.利用商用硬體構建大規模分散式系統並遠離專有/單一硬體與軟體的轉變。
a)在經濟理論中,商品被定義為具有充分或實質可替代性且具有廣泛可用性的物品或服務,這通常導致較小的利潤率並且減少除價格之外的因素(例如品牌名稱)的重要性。
b)請參閱下文,了解如何從架構上做出很好的轉變,以應對公有雲的出現。
3.利用開放數據標準和開源技術,遠離專有供應商控制技術的轉變。它不僅僅是開放標準,標準是實現而不僅僅是「規範」。
4.向靈活且不斷變化的技術生態系統(MRv1 -> YARN -> K8s,MapReduce -> Spark/Flink等)的轉變,遠離使用單一技術棧滿足所有需求,從而在每個層面都實現創新。
在某些方面,「Hadoop哲學」是數據架構,Ken Thompson著名的Unix Philosophy是軟體開發。Eric Raymond在著名的Art of Unix Programming一書中闡述的17條Unix規則,許多也適用於這個領域:
Unix Philosophy https://en.wikipedia.org/wiki/Unix_philosophy Art of Unix Programming https://en.wikipedia.org/wiki/Unix_philosophy#cite_note-11 17 Rules for Unix https://en.wikipedia.org/wiki/Unix_philosophy#Eric_Raymond's_17_Unix_Rules
1.模組化原則(Rule of Modularity):寫簡單的,能夠用清晰的介面連接的程式碼。
- HDFS,YARN/K8s,Spark,Hive等可以組合併相互依賴。
……
3.組件化原則(Rule of Composition): 設計可以互相關聯(拆分)的程式。
- Impala,Hive和Spark等都是高度可組合的,用於端到端的解決方案。
……
4.分離原則(Rule of Separation):策略和機制分離,介面和引擎分離。
- HDFS既是文件系統介面,也是文件系統實現。這就是Spark通過Hadoop兼容文件系統「API」可以與S3對話的原因。
……
6.小巧原則(Rule of Parsimony):不要寫大的程式(模組、方法)。除非很明顯的,沒有別的辦法可以完成。
- 我們避免「大」/「胖」層,而是使用依賴於另一個的模組化層。比如Phoenix和HBase。
……
7.透明原則(Rule of Transparency):為可見性設計,使檢查和調試更容易。
- 開源For The Win(FTW)
……
16.多樣性原則(Rule of Diversity):決不相信所謂"不二法門"或"銀彈"的斷言。
- 我們的生態系統提供了多種工具,因為它們對於不同的場景有不同的優勢(通過Spark或Hive進行ETL,通過Hive/Tez/LLAP或Impala或Spark SQL進行SQL查詢)
17.可擴展性規則(Rule of Extensibility):設計著眼未來, 未來總比預想來得快。
- 2005-2006年初,我們無法預測HBase,Hive,Impala,Spark,Flink,Kafka等的出現,13年來我們做了很多工作來使它們成為一流的關鍵組件。
關於雲
現在公有雲(以及私有雲)顯然已經成為企業部署架構的組成部分。
公有雲基本上是企業硬體基礎設施(伺服器,網路,數據中心等)的商品化。因此,它完全符合「Hadoop哲學」的原則 – 專註於商品硬體。此外,整個Hadoop生態系統一直是為了「變形(shape-shift)」並吸收新的變化而建立的 – Tom White於2006年編寫了第一個S3-Hadoop connector,亞馬遜在2009年推出了EMR。
Tom White wrote the first S3-Hadoop connector in 2006 https://issues.apache.org/jira/browse/HADOOP-574
與此相比,傳統資料庫供應商分解單一和高度工程化/融合的硬體/軟體棧使其能「原生」的在公有雲中運行,可想而知會有多難。
不幸的是,作為一個行業,我們在幫助市場(特別是金融市場)了解「Hadoop」與傳統技術在擁抱公有雲的能力方面的區別不是太給力。有些事值得我們去思考以及去解決。
AWS EMR,Azure HDInsight和Google Dataproc是Hadoop如何在公有雲中為客戶大規模推動價值和業務的絕佳例子。
關於Cloudera
Cloudera是一家數據公司。我們使人們能夠將數據轉化為清晰且可操作的洞察力。我們通過擁抱「Hadoop哲學」來實現這一目標。我們建立了這個市場 – 我們為過去感到自豪,但不會被它蒙蔽。我們採用新的主流技術(公有雲,Kubernetes等),因為這麼做是有意義的,使我們的客戶受益,並且與我們的使命一致。
我喜歡貝索斯的哲學:專註於不改變的事物。從現在起一百年後,企業仍然希望將數據轉化為洞察力。這就是我們的工作,並將繼續這樣做。
Focus on things that don』t change https://www.inc.com/jeff-haden/20-years-ago-jeff-bezos-said-this-1-thing-separates-people-who-achieve-lasting-success-from-those-who-dont.html
對我們來說,有些事情已經發生了變化,我們需要注意到。五年前,當我們成為「it」技術時,我們獲得了一個大廳通行證(hall pass)。所有很酷的孩子都想跟我們綁在一起,給我們帶來了他們能找到的所有用例,並將我們展示給他們的朋友。在某種程度上,「答案是Hadoop – 問題是什麼?」是普遍存在的情況。這導致了一些不合理的期望,這些期望在產品生命周期中是不現實的,或者過早。
現在我們必須更努力地說服客戶使用我們帶入市場的東西,但我們帶給他們的價值和理念是毋庸置疑的。我們還需要說服客戶使用我們這些技術,如CDP。今天他們依舊與我們合作,正如他們在我們的平台上運行的數千PB數據和數百萬分析應用程式所證明的那樣!
從本質上講,我們將通過參與用戶和企業想要存儲/管理/保護/管理/分析數據的用例來繼續蓬勃發展。我們願意被誤解一段時間,因為這些負面消息會重複出現,然後會慢慢消退,因為我們用結果來證明一切。所有偉大的公司會不時被誤解,但經久不衰的公司會堅忍不拔。
我前幾天在社交媒體上看到了這個評論:
「如果我在Kubernetes上使用CDP運行Spark來分析S3中的數據,那麼Hadoop在哪裡?」
我其實笑得很開心,並且想:
只要您使用CDP服務…… 🙂
Gartner分析師Merv Adrian喜歡講述一個類似的故事,一個客戶稱他「最喜歡的Hadoop應用程式」是使用Spark運行TensorFlow分析S3中的數據。Merv問他為什麼那是Hadoop,他回答說:「它是「Hadoop」,因為Hadoop團隊建立了它」。此外,使用的Spark確實來自Hadoop發行版。因此Merv指出:「情人眼裡出Hadoop」。
CDP的基本目標是作為一個雲服務,讓企業不用面對大量複雜的技術,而能夠更簡單的從平台獲取價值。特別是我們在CDP中為數據倉庫和機器學習提供原生的SAAS服務,使業務用戶可以輕鬆的對雲對象存儲中的數據進行分析。此外,SDX使用ABAC和存儲在對象存儲和本地HDFS中的數據的細粒度策略建立完全安全的數據湖,以及治理和加密(包括存儲加密和傳輸加密)。我們在這方面取得的進展非常非常令人興奮 – 正如我們從許多企業客戶提供的回饋中看到的那樣!
所以,Hadoop已死?
你所認為的傳統的Hadoop已經死了,確實如此。但Hadoop作為一門哲學,推動不斷發展的開源技術生態系統和開放數據標準,使人們能夠將數據轉化為洞察力,這門哲學是充滿活力和持久的。
只要有數據,就會有「Hadoop」。
Hadoop已死,「Hadoop」萬歲。
Apache Hadoop,Apache Spark,Apache Flink,Apache Hadoop HDFS,Apache HBase等都是Apache Software Foundation的商標。
作者:Arun C Murthy Cloudera現任CPO,原Hortonworks聯合創始人與CPO。自2006年Hadoop誕生就大量參與數據工作。老的體育靈魂,牧羊犬工程師。 原文地址: https://medium.com/@acmurthy/hadoop-is-dead-long-live-hadoop-f22069b264ac