Hadoop之父:普通程序員到頂級公司CTO的進階之路
做大數據開發的朋友一定用過 Hadoop 這個工具,它是一款支持數據密集型的分布式應用程序。Hadoop 基于分布式檔案系統和 MapReduce 技術,通過節點分工的模式把海量的數據處理工作分發至多臺機器上,再將每臺機器處理的結果匯總整合。雖然它的邏輯原理并不復雜(即簡單的分治思想),但其中要攻克的技術難點卻頗多,比如早期備受詬病的安全問題、文件存儲壓縮問題等。能開發出這樣一個工具的人,必定有他的過人之處,那么接下來就跟雞仔一起來了解被譽為 Hadoop 之父的 Doug Cutting,他到底是何許人也?又有哪些值得我們學習的地方呢?
學計算機可以盡早還清貸款
Doug 來自加利福利亞納帕谷的農村,1981 年他考上了斯坦福大學。雖然考上了大學,但家庭并不富裕的 Doug 卻喜憂參半。只有借助貸款,他才能負擔起學費
斯坦福大學
在斯坦福,Doug 學習了語言學和計算機相關的課程。他覺得計算機課程很有趣,更重要的是,他發現學習計算機可以幫他盡早還清貸款。因此,臨近畢業之際,他沒有選擇繼續求學深造,而是在施樂公司(看過《喬布斯傳》的朋友應該對這所公司有所了解,這家公司在當時非常有名,它的主要研究領域是印刷相關的技術。)找了一份薪水不錯的工作,他的工作內容是進行自然語言處理和人工智能相關的研究,借此他也有幸參與了在當時比較新潮的一個領域——搜索
施樂的工作環境
見證搜索行業的崛起
在谷歌之前,有不少公司曾對搜索領域做過探索,而這些公司在 Google 之后都被遺忘了。施樂就是其中的一員,它可以說是搜索領域的先驅。當然,他們對搜索的探索,重點圍繞著自己的主業開展
我們都知道,施樂一直從事打印、復印相關的業務,他們當時研究的方向是如何將紙制品電子化。而紙制品電子化面臨的主要問題,除了如何正確地識別紙制品上的文字外,還要保證如何快速檢索這些已電子化的文件資料,Doug 當時從事的主要是后一項工作。這段時間的工作經驗積累,讓他在搜索技術的廣度和深度上都得到了極大的提升
施樂的豆袋會議室
之后不久,隨著網絡時代到來,以雅虎為代表的基于網絡搜索的公司如雨后春筍一樣涌現出來。Doug 見證了整個搜索行業的崛起,當時,為了便于用戶檢索互聯網信息,雅虎采用的方案是分類整合,就是說每當有人新建立一個網站,雅虎便將它添加到雅虎的網站庫目錄中,然后再將網站分成金融、新聞、體育、娛樂等板塊
雅虎中國首頁
雅虎的這個方案雖然能夠幫助人們快速找到對應需求的站點,但無法精細地幫助用戶找到自己的個性化需求。這時候谷歌出現了,它采用的是基于 PageRank 的搜索算法,可以精準地定位人們的檢索目標,幫助人們找到想要的結果。就憑著這點關鍵的技術創新,谷歌搜索業務迎來了發展的飛躍期
PageRank算法簡化圖解
兩次練手收獲兩個開創性工具
Doug 雖然在施樂公司已積累了不少搜索技術的經驗,但他探索的搜索技術都是基于離線環境的,因此數據量級不可能很大。Doug 感覺它的技術經驗有點紙上談兵。于是在 1997 年底,Doug 決定利用業余時間寫一個開源項目,他在家以每周兩天的時間投入開發,不久之后,便誕生了***個開源文本搜索函數庫——Lucene
Lucene logo
Google 的高速發展讓 Doug 產生了危機,他擔心日益減少的網絡搜索引擎可能讓信息檢索行業出現新的商業壟斷。Doug 于是著手與同事一起開發出了 Nutch,這是***個與 Google 進行競爭的大型開源網絡搜索引擎項目。Nutch 雖然開發出來了,但和之前一樣,Nutch 工具依然沒有經歷過實戰檢驗,Doug 接下來要做的,是在大量級的數據下,對 Nutch 進行壓測。但大數據壓測就意味著要采購大量的設備和數據。但 Doug 當時待業在家,并沒有足夠的財力購買這些設備和數據
Nutch 架構示意圖
Hadoop比Webmap快33倍
就在 Doug 為測試困擾時,Google 隨即發布了一份研究報告,報告中介紹了兩款 Google 為了支持自家產品而研發的軟件平臺,一個是 GFS(即 Google File System),用于存儲不同設備產生的海量數據。另外一個是 MapReduce,它在 GFS 上工作,用于分布式大規模數據處理。基于這兩個平臺,Doug 開發出了大名鼎鼎的 Hadoop
Hadoop logo
這就解決了困擾 Doug 很久的壓測問題,之前可能需要一臺超級計算機才能完成的工作,現在只需要將任務分布在幾臺廉價的計算機上同樣可以完成。Doug 對 Google 的開源大加贊賞「我們開始設想用 4-5 臺電腦來實現這個項目,但在實際運行中牽涉了大量繁瑣的步驟需要靠人工來完成。Google 的平臺讓這些步驟得以自動化,為我們實現整體框架打下了良好的基礎。」
MapReduce 工作流簡化圖
出于時間成本的考慮,Doug 決定結束自己的自由職業生涯。以此來進一步完善他的 Hadoop 項目。他先找了 IBM ,但 IBM 對他早期的 Lucene 項目更感興趣。就在此時,雅虎的負責人 Raymie Stata 熱情邀請他加入雅虎公司并馬上對搜索業務項目進行優化改造。加入雅虎后,Doug 如虎添翼,他有一支一百人的團隊幫他完善 Hadoop 項目,這大大加速了 Hadoop 項目的發展。不久之后,雅虎就將它的搜索業務架構遷移到 Hadoop 上來。兩年后,雅虎啟動了基于 Hadoop 的***項目 Webmap——一個用來計算網頁間鏈接關系的算法。遷移項目至 Hadoop 的成效立竿見影,在相同的硬件環境下,基于 Hadoop 的 Webmap 的反應速度是之前系統的 33 倍
新身份,新征程
雖然 Hapdoop 極大地提高了雅虎的搜索性能,但當時的雅虎是熱鍋上的螞蟻。內部管理,產品定位,技術服務等諸多問題無法得到解決,雅虎的局面實在是江河日下了。由于公司只關注產品,卻不想在技術上有過多的投入,Doug 于是跳槽到了 Cloudera
Cloudera logo
Cloudera 是為某些公司提供技術服務和咨詢的平臺,它的客戶多來自傳統行業。傳統行業的客戶有大量的數據,但不知道如何合理地使用它們,這正好與 Doug 想在 Hadoop 平臺處理更大量的數據的想法不謀而合,在這里他有大量的客戶業務數據,輔助他更好地完善 Hadoop 項目。值得一提的是,在 Doug 服務傳統企業的過程中,越來越多的互聯網巨頭也開始加入了 Hadoop 的隊伍(如 Facebook、eBay、LinkedIn 等),Hadoop 的團隊無形之中被進一步擴大了
目前, 除了作為 Hadoop 之父外,Doug 還有另外一個身份——Cloudera ***架構師。Cloudera 可以說是 Hadoop 生態圈最知名的公司了,它的核心產品是為客戶搭建基于 Hadoop 的大數據平臺,幫助企業安裝、配置、運行 Hadoop 以便處理海量的數據
Cloudera 版本衍化
談到目前 Hadoop 的發展趨勢,Doug 很是意外 「我從沒有想過,Hadoop 除了搜索引擎,還能在其它方面發揮作用,它如今的受關注程度,已經完全超過了我之前的想象。」
Doug Cutting
談及他的成功事跡,Doug 覺得主要歸功于兩點:熱情。他喜歡攻克技術難題帶來的成就感,他非常享受自己的程序被千萬人使用的感覺。另外一個就是腳踏實地。Doug 的所有成就都是他一點一滴積累來的,頭頂青天腳踏實地,時間會給人***的嘉獎