1. 程式人生 > >Hadoop之父Doug Cutting

Hadoop之父Doug Cutting

ans 工作 思想 bsp 自己的 標準 都是 領域 智能

Doug Cutting 看到他兒子在牙牙學語時,抱著黃色小象,親昵的叫 hadoop,他靈光一閃,就把這技術命名為 Hadoop,而且還用了黃色小象作為標示 Logo,不過,事實上的小象瘦瘦長長,不像 Logo 上呈現的那麽圓胖。“我兒子現在 17 歲了,所以就把小象給我了,有活動時就帶著小象出席,沒活動時,小象就丟在家裏放襪子的抽屜裏。” Doug Cutting 大笑著說。

技術分享圖片

圖丨Doug Cutting 手拿的黃色小象就是命名 Hadoop 的靈感來源

1985年,Cutting畢業於美國斯坦福大學。他並不是一開始就決心投身IT行業的,在大學時代的頭兩年,Cutting學習了諸如物理、地理等常規課程。因為學費的壓力,Cutting開始意識到,自己必須學習一些更加實用、有趣的技能。這樣,一方面可以幫助自己還清貸款,另一方面,也是為自己未來的生活做打算。因為斯坦福大學座落在IT行業的“聖地”矽谷,所以學習軟件對年輕人來說是再自然不過的事情了。

Cutting的第一份工作是在Xerox做實習生,Xerox當時的激光掃描儀上運行著三個不同的操作系統,其中的一個操作系統還沒有屏幕保護程序。因此,Cutting就開始為這套系統開發屏幕保護程序。由於這套程序是基於系統底層開發的,所以 其他同事可以給這個程序添加不同的主題。這份工作給了Cutting一定的滿足感,也是他最早的“平臺”級的作品。
盡管Xerox讓Cutting積累了不少技術知識,但他卻認為,自己當時搞的這些研究只是紙 上談兵,沒有人試驗過這些理論的可實踐性。於是,他決定勇敢地邁出這一步,讓搜索技術可以為更多人所用。

1997年底,Cutting開始以每周兩天的時間投入,在家裏試著用Java把這個想法變成現實,不久之後,Lucene誕生了。作為第一個提供全文文本搜索的開源函數庫,Lucene的偉大自不必多言。之後,Cutting再接再厲,在 Lucene的基礎上將開源的思想繼續深化。

2004年,Cutting和同為程序員出身的Mike Cafarella決定開發一款可以代替當時的主流搜索產品的開源搜索引擎,這個項目被命名為Nutch。Doug Cutting 希望以開源架構開發出一套搜索技術,類似於現在的 Google Search 或是微軟的 Bing,剛好 2004 年 Google Labs 發布了關於自家大數據分析、MapReduce 算法的論文。Doug Cutting 利用 Google 公開的技術擴充他已經開發出來的 Lucene 搜索技術,進而打造出了 Hadoop。

2006年項目成立的一開始,“Hadoop”這個單詞只代表了兩個組件——HDFS和MapReduce。到現在,這個單詞代表的是“核心”(即Core Hadoop項目)以及與之相關的一個不斷成長的生態系統。這個和Linux非常類似,都是由一個核心和一個生態系統組成。

Hadoop 是基於開放源代碼所建構,用於分散式處理和分析電腦叢集上的巨量資料集,也可以想成是一個能夠儲存並管理大量資料的雲端平臺。它主要有兩個核心技術,分別是分布式檔案系統(Hadoop Distributed File System,HDFS)以及 MapReduce 技術。正因為透過多節點分工來處理巨量資料,解決了檔案儲存的問題,同時也大幅縮短了運作時間,讓 Hadoop 成了大數據的主流技術,知名大企業如Google、Facebook、沃爾瑪、銀聯、聯通、臺積電等,都利用了 Hadoop 技術。


Doug Cutting 表示,Hadoop 的意義不在技術,更大的意義在於“數字轉型”(digital transformation),從 Hadoop 的成功經歷我們可以學到幾件事:首先、開放源代碼已經是必要的,例如在 20 年前他開發出 Hadoop 的前身— Lucene 開源代碼搜尋技術時,並沒有料想到 Lucene 會成功,“因為它並不是最好的技術,也不完美,但它因為是屬於開放源代碼,透過社群的力量,使它成為了最好的搜索技術。”對使用者來說,現在更多想要的是開放源代碼的軟件。第二件事就是數字轉型需要不同的運算跟儲存架構。在完成 Lucene 之後幾年,Cutting 就開始投入到 Hadoop 的研發之中,“你可以看到整體的應用已經興起,它的成功在於滿足了大家的需求。”在 Hadoop 之前,幾乎所有的資料或應用程序都要被儲存在分開的系統裏,但有了 Hadoop 之後,它們可以被存在單一的系統裏,在擴充性、處理運算方面有更好的成效。

Doug Cutting 指出,Hadoop 與機器學習、AI 有高度關聯性,要訓練、測試、評價人工智能都需要數據,許多開發者在 Hadoop 平臺上寫了很多應用程序,可以利用這個平臺搜集各種巨量數據,支援 AI 和機器學習的數據也是爆炸性成長,很難有一家公司可以做到提供這麽大量的工具。


現在,Doug Cutting 的身份除了是 Hadoop 之父外,也是 Cloudera 的首席架構師。Cloudera 可以說是 Hadoop 生態圈裏最知名的公司,核心產品是為企業客戶搭建基於 Hadoop 的大數據平臺,幫助企業安裝、配置、運行 Hadoop 以進行海量數據的處理、分析以及機器學習。

Doug Cutting給2017寄語時,指出五種讓開源項目成功的方法:

1. 擁抱開源的不斷改變和演進
不斷地變化,這是每一個剛接觸開源技術的人需要學習的第一課,也是開源有別於傳統軟件的最大不同之處。開源的本質是易變、靈活,它的新項目常常起源於一些特別的用例。這種動態的循環促使產品變得更好、更快。因此,公司如果想從開源獲得完全的好處,他們必須對技術轉變保持開放的心態。Spark和MapReduce的辯論就完美的體現了這點的重要性:

事實上,人們在構建新的應用時,MapReduce用得越來越少,而Spark成為他們默認的數據處理引擎。MapReduce正逐漸成為Hive、Pig的底層引擎,這並不意味著它過時了。它還會為現存應用很好地工作很多年,而且對某些大規模批量加載來說仍然是卓越的工具。這一趨勢遵循開源技術的自然演進:MapReduce是開源數據生態系統的1.0引擎,Spark是2.0,而某一天會出現3.0讓Spark成為歷史。

2. 當引入一個新技術棧時,從小開始、由上而下
先不去考慮要構建、部署什麽樣的解決方案,我們現在有了很多通用數據平臺和很多工具,它們能靈活地組合在一起去做搜索、流處理、機器學習還有更多事情。這些工作需要的不僅僅是一套不同的技能,而且還需要管理方式、組織結構等在文化上的轉變。為此,重要的是要獲得組織內高層的支持,並讓數據管理列入董事會層面的一項重點議題。同時,建議拿一些新的應用來逐步建立一個新文化,而不是要取代所有的一切,這樣可以讓大家通過一個個具體的用例來適應這個變化。

3. 仔細挑選開源軟件以避免雲供應商捆綁
隨著使用雲計算的企業組織和產業越來越多,應該考慮到開源軟件不僅會帶來越來越好的健壯性、可擴展性和安全性,而且也可以幫助他們避免被雲供應商捆綁。通過開源平臺的構建,組織可以采用雲供應商套利以降低成本,可以使用不同地域的不同雲,或者基於雲和內部部署的混合方式。事實上,開源平臺已經證明了自己的技術優越性,2017年也許會取得更多的落地。大量的機構通過開源項目進行合作,單一的供應商要去競爭是很困難的。例如,現在那些開源數據系統在性能和靈活性上就處於領先地位,並且改進得更加迅速。

4. 對求職者來說,開源生態環境裏要關註森林,而不是樹木
IT領域的求職者,不管是編程還是數據科學,不應該僅僅專註於掌握個別技術,而應該關註理解開源數據生態系統各個組成部分的最佳利用,以及如何把它們連接起來解決問題。這種上層建築的理解是企業在技術創新中最有價值的技能。隨著新技術的到來,至關重要的是了解它們的適應力如何、它們能取代什麽、它們能做到什麽。

5. 在技能缺口中尋找機會
大數據的技能缺口將在明年保持相對穩定,但這不應該成為人們采用Hadoop以及其它開源技術的阻礙。大多數人都知道,當新的技術被創造出來並爭奪用戶時,它們對外界而言是很陌生的。只有當一個特定類型的軟件成為某個規範的成熟而標準的一部分,才會開始出現大量熟練使用它的人,而即使如此仍然會存在技能缺口。只有當我們不再對技術棧做大的改進時,才會消除這種缺口,不過Doug不認為我們會希望這樣做。簡而言之,技能缺口是影響平臺變革速度的主要因素之一,也是即將來臨的創新的標誌。

Hadoop之父Doug Cutting