Hadoop的現在和未來

風的王子發表於2013-11-02


現今,大資料和Hadoop在計算機工業里正如暴風驟雨般開展著。從CEO、CIO到開發人員,每個人對其用法都有自己的看法。據Wikipedia所述:

“Apache Hadoop是一個開源的軟體框架,它支援資料密集型的分散式應用,許可授權隸屬於Apache v2 license.[1] 它使應用程式以拍位元組(petabytes) 級資料進行工作,並可以在成千上萬臺獨立的計算機上執行。Hadoop源自於Google的MapReduce 和 Google File System (GFS) 兩篇論文。現在通常認為完整的Apache Hadoop‘平臺’由Hadoop核心、MapReduce 和HDFS組成,以及若干相關的專案——包括Apache Hive 、Apache Hbase等等”

可惜這個定義並沒有真正解釋Hadoop及其在企業中的角色。

在本次虛擬座談會中,InfoQ採訪了多位Hadoop提供商和使用者,他們就Hadoop的現在和將來發表了看法,並討論了Hadoop繼續走向成功並進一步推廣的關鍵。

參加者:

  • Omer Trajman, Cloudera技術解決方案副總裁

  • Jim Walker,Hortonworks產品總監

  • Ted Dunning,MapR首席應用架構師

  • Michael Segel,芝加哥 Hadoop 使用者群創始人

問題:

  1. 你如何定義Hadoop?作為架構師,我們對伺服器、資料庫等術語有更專業的思考。在你的心裡Hadoop屬於哪個層面?

  2. 儘管人們實際談論的是Apache Hadoop,但他們卻很少直接從Apache網站上下載。如今大多數人都使用Cloudera、Hortonworks、MapR、Amazon等等的“發行版”進行安裝。你認為這一現象的原因是什麼,這些“發行版”有哪些不同(請供應商們客觀一點,我們知道你的是最好的)。

  3. 你認為如今Hadoop最普遍的用法是什麼?將來呢?

  4. 除了Flume、Scribe 和 Scoop之外,Hadoop與其他企業計算的整合非常少。你認為在企業IT基礎架構中,Hadoop會開始扮演更大的角色嗎?

  5. 除了著名的Percolator之外,現在大部分Google專案都是用Hadoop實現的。你認為這樣的專案(應該)在Apache的跟蹤範圍內嗎?你瞭解實時Hadoop的其他方向嗎?

  6. 許多人設法提高使用Hadoop的技能。還有很多人去找熟悉Hadoop的人。但是仍然搞不清楚,如何掌握Hadoop技術?閱讀這本書?參加培訓?還是考認證?

問題1:你如何定義Hadoop?作為架構師,我們對伺服器、資料庫等術語有更專業的思考。在你的心裡Hadoop屬於哪個層面?

Omer Trajman: Hadoop是一個新型資料管理系統,它通過計算網路的處理能力將傳統的非結構化領域或非關係型資料庫聯合起來。雖然它從傳統大規模並行處理(MPP)資料庫設計模式借鑑了大量經驗,但Hadoop有幾個關鍵的不同。首先,它是為低成本位元組的經濟而設計的。Hadoop幾乎可以在任意硬體上執行,可以非常寬容地應對異構配置和不時發生的故障。第二,Hadoop非常容易擴充套件。Hadoop第一個版本就可以擴充套件到數千個節點,當前版本試驗表明可以持續增加到上萬個節點以上。使用主流的兩插槽8核處理器,那就是80,000核的計算能力。第三,Hadoop可以非常靈活地儲存和處理資料的型別。Hadoop可以接受任何格式、任何型別的資料,並具有一組功能豐富的API,用來讀取和寫入任何格式的資料。

Jim Walker: Hadoop是一個高度可擴充套件的開源資料管理軟體,使您輕鬆地獲取、處理、交換任何資料。Hadoop幾乎可以連線到傳統企業資料棧的每一層,因此將佔據資料中心的中心位置。它將在系統和使用者之間交換資料並提供資料服務。在技術層面,Hadoop也就是做這些事情,但因為它為大眾帶來了超級計算能力,它也造成了商業的轉變。它是開源軟體,所建立的社群帶來大規模並行處理,以及水平擴充套件所有在商品硬體上的儲存。它不能替代系統,它迫使現有工具更加專業化,並佔有流行的資料架構工具箱的一席之地。

Ted Dunning: 非常精確地定義Hadoop,至少讓每個人都同意你的意見恐怕是不可能的。即使如此,假設你考慮這兩個定義,你可以得到非常接近的答案:

a.  同名的Apache專案,該專案已經發布了一個map-reduce的實現和一個分散式檔案系統。

b.  一組專案集合,Apache和一些其他專案,它們使用或者以某種方式關聯到Apache Hadoop專案。

第一個定義也經常用來暗指由Apache Hadoop專案釋出的軟體,但是,一個軟體到底要與釋出版本多接近才能(或應該)稱之為Hadoop或Hadoop衍生品,是一個頗有爭議的話題。

對於我來說,作為社群中Hadoop相關軟體的主要使用者或開發者,我更喜歡一個不太常用的Hadoop的定義。對於術語“Hadoop”,我更加喜歡先用它來代表社群,其次是主要的程式碼或專案。對我來說,社群比任何單個專案程式碼更重要。

Michael Segel: 我把Hadoop看作是一個框架以及進行分散式或並行處理的一組工具。你在HDFS中的分散式儲存,在Job Tracker和Task Trackers中的分散式計算模型,以及在HBase中的分散式持久物件儲存。按照Hadoop的定位,我認為這取決於特定的解決方案。

很難將Hadoop歸為單獨的類別。在一些場景中Hadoop用來做中間處理,這是難以在傳統的RDBMS中完成的事情,於是使用Hadoop作為中間步驟,最後使用他們已有的BI工具執行分析。還有人用Hadoop來提供 “實時”(主觀認為的)資料處理。整合Lucene / SOLR和已有的Hadoop / HBase作為實時搜尋引擎的一部分。關鍵是Hadoop被用於解決不同組織不同型別的問題;即使在同一個企業中。這可能Hadoop最大的一個優勢,它是一個基礎框架,可以用來解決不同型別的問題。更多的人在使用Hadoop,並將其推進到極限;這將產生大量各種各樣的解決方案。

問題2:儘管人們實際談論的是Apache Hadoop,但他們卻很少直接從Apache網站上下載。如今大多數人都使用Cloudera、Hortonworks、MapR、Amazon等等的“發行版”進行安裝。你認為這一現象的原因是什麼,這些“發行版”有哪些不同(請供應商們客觀一點,我們知道你的是最好的)。

Omer Trajman:“發行版”的需求有兩個主要來源。至於Cloudera,四年前我們開始與客戶交流時首次遇到一個要求。每一位客戶執行在不同的基礎版本上,並且打了不同的小補丁,還使用了不同版本的客戶端庫。一旦我們涉及多個客戶,就無法提供支援和解決程式碼問題的架構原則。產生“發行版”的第二個理由是,合作伙伴需要能夠測試客戶正在執行的程式碼庫,以發現它們的不利影響。如果一個合作伙伴在CDH4認證,一個客戶在CDH4上執行,他們要確信他們的軟體在工作中不會產生衝突。為了給每一個人(不僅僅是我們的客戶)建立一個標準基線,Cloudera在2009年首次建立了CDH。如果客戶執行在CDH 4.2上,每個人都確切地瞭解程式碼庫中有什麼,並且可以測試它的不利影響。因為它完全開源並經Apache許可,任何人都可以按需改變安裝程式,並且,他們可以獲得任何人的支援。

Jim Walker: 我們認為基於Hadoop平臺的下載趨勢是一個較新的現象。因為越來越多的組織意識到,他們將受益於Hadoop,當他們首次開始使用這項技術時,他們在尋找易於使用和消費的體驗。後來,他們著手感興趣的工具,工具易於管理和監控Hadoop在生產環境中的執行。這些“發行版”有很多相同點,相比開源的Apache Hadoop,它們更易於使用和運維。這些“發行版”之間最主要的區別是,大多數(而非所有)包括了專屬的軟體元件。這麼做的確把使用者鎖定在一個特定的“發行版”上,不允許他們充分利用開放原始碼社群過程。但是,Hadoop及其相關專案都有自己的釋出週期和版本結構,每個“發行版”都為消費者提供了重要價值,“發行版”已經把Hadoop和所有已知相關的專案打包到一起,負責部署的人就不需要去單獨獲取各個Hadoop相關的專案、單獨測試並自行維護這樣一個複雜的解決方案的網路了。

Ted Dunning: 事實上,人們去下載已打包的發行版無非是出於節省時間和節省腦力的考慮——否則,他們需要一個一個去下載必要的元件,一個一個地安裝,並想辦法讓它們保持相容。通常人們關注個別專案的功能或Hadoop社群專案,然後從Apache上直接下載專案原始碼,然而,還有一種做法是使用標準化的“發行版”。這使他們可以集中精力去處理那些他們認為最重要的事。

實際上,搭建和測試完整的Hadoop“發行版”是一個最重要的任務。使用標準的“發行版”大大簡化這個過程。另外,所有重要的“發行版”各自還有一些專屬的Hadoop附件,使某些事可以更好地工作。Hortonworks有基於VMWare的軟體,他們試圖使namenode更加強壯,Cloudera有專屬管理介面,MapR有專屬檔案系統、表儲存和管理功能。使用者可以很輕易地找到這些附件的價值。

Michael Segel:首先,我想要指出的是,還是有很多人從Apache 網站直接下載Hadoop的。那些人可能是想要研究最新版本的可用性,可能是Apache新的訪問者。討論組上的人仍在詢問相容性的問題,像“我有X版本的HBase,我需要哪個版本的Hadoop……” 他們使用某個供應商的“發行版”,就不會有這個問題了。

企業傾向於選擇供應商,因為他們需要供應商的支援。他們希望降低在Hadoop叢集上的投入,以專注於解決手邊的問題。供應商提供免費版本和支援版本,還有工具去簡化他們產品的下載。(他們也有自己的網站,並有很多有用的幫助資訊)。

當討論供應商時,我必須提前宣告,所有供應商實際上都是Apache Hadoop的衍生品。雖然Cloudera和Hortonworks承諾100%是Apache的,但我仍然認為它們是衍生品。供應商必須決定應用哪些補丁,亦或回退他們的版本。雖然所有程式碼都100%是Apache的,但這還是造成了一些輕微的差異。另外,供應商的產品中還包括一些附加工具和專屬軟體。我並沒有說衍生品不好,相反它是好東西。衍生品也有利於區分供應商之間的差異。

我恰巧在供應商間保持著中立。你提到所有的供應商都支援Apache Hadoop API,所以你編寫的map/reduce程式,最多隻做一次編譯就可以在每一個版本中執行。

正如我之前所說,Hortonworks和Cloudera承諾100%是Apache的,但採用了是Hadoop提供的核心。Cloudera長期佔有大部分的市場份額。Hortonworks借他們新出的1.0發行版發起強勁的營銷攻勢。我認為隨著時間的推移,將難以在這兩個之間做出選擇。歸根結底,它將成為支援和輔助工具。Hadoop還在不斷地發展。像諸如YARN、HCatalog、Impala和Drill,在此我只列出了一些最近的創新。供應商不能自滿,必須確定他們將來打算進一步支援的功能




MapR稍有不同。自全面啟動以來,MapR已決定替換核心,把HDFS替換為自己的MapRFS,同時MapRFS實現了所有的HDFS API,它是一個相容POSIX的檔案系統,可以通過NFS安裝。此外,他們解決了在Apache的核心產品中發現的SPOF Name Node問題。他們還在一年前的初始版本中提供HA(高可用性)。雖然MapR支援Apache Hadoop API,但他們的軟體是自有的、閉源的。MapR有三種版本,M3(免費版)、M5(含有支援的版本,並啟用了所有HA特性)和M7(在最近和自己重寫的HBase一起釋出),MapR採取了一種與其他供應商不同的方法,它肯定會有屬於自己的追隨者。

亞馬遜擁有他們自己的產品,在他們提供的EMR中包括了對MapR的M3和M5的支援。因為他們不賣產品,所以我不會把他們歸類到供應商。而且我認為你還要把Google加進來,因為他們在最近釋出了他們的競爭產品。在此我們看到又一個MapR的合作伙伴進入到Hadoop市場。

在所有考查的選項和各種各樣的供應商之中,我不得不說消費者將是最終的勝利者。早在90年代的時候,因為Informix、Oracle和Sybase間的激烈競爭,我們目睹了RDBMS的演變。今天?我認為市場還相當不夠成熟,我們在進行著一段瘋狂之族。

問題3:你認為如今Hadoop最普遍的用法是什麼?將來呢?

Omer Trajman: 如今,人們用Hadoop應對各種行業間各自不同的挑戰。最為普遍的用法是用來加速ETL。例如金融服務,不再是針對每個事務從眾多源系統中拉資料,而是由源系統將資料推至HDFS,ETL引擎處理資料,然後儲存結果。ETL流程可被寫入Pig 或 Hive中,或者使用商業解決方案如Informatica、 Pentaho、 Pervasive等等。結果可以將來用Hadoop分析,也可以提交到傳統報表和分析工具來分析。經證實,使用Hadoop儲存和處理結構化資料可以減少10倍的成本,並可以提升4倍處理速度。比傳統ETL更突出的是,Hadoop還可以用來收集內部系統(比如應用和web日誌)以及遠端系統(在網路和全球上)的遙測資料。把精細的感應資料提供給公司的能力模型(如通訊和移動載流能力模型),預測網路和裝置上可能發生的問題,並主動地採取措施。Hadoop還可以作為集中式資料集線器,執行從跨組織的資料集分析到預測分析平臺的任何工作。這些應用如今廣泛地部署在生產環境中,為收集所有組織資料提供了可能性,很好地驅動了業務的發展。

Jim Walker:大部分組織剛剛開始他們的Hadoop旅程。他們用它來提煉大量的資料,為業務分析實踐提供價值。有些人用它來採集和使用一些曾經廢棄的資料,或者僅僅從已有系統中去採集比以前更多的資料。更先進的組織開始走向資料科學研究之路,從事大資料和傳統輸入源的探索。在2013年,Hadoop將成為主流,人們將慎重地考慮將其作為傳統企業資料架構的一部分,同ETL、RDBMS、EDW和目前所有那些為組織提供資料的現有工具一樣成為“一等公民”。

Ted Dunning: 我不瞭解當前的主要用途,但我看到了兩個無限增長的領域,以至於我打算減少大部分大資料其他領域的使用。它們是:

a.  世界度量系統。這些系統包括各種產品,它們擁有巨大的度量能力,並極有可能產生大量的資料。例如,渦輪機供應商使用儀器檢測噴氣式發動機,所以每架飛機將成為巨大的資料來源,又如磁碟驅動器供應商正要在單獨的磁碟驅動器中建設家用電話系統。同樣地,零售商通過文字去察看客戶對店內商品的反應。所有這些應用程式有可能比現有的大部分大資料系統產生更多的資料。

b.  基因組織系統。單人的人類基因組測序就可以產生約四分之一TB的資料。癌細胞的增長包括細胞群落,經常有成千上萬的突變遍佈數以百計(至少)的變體發育譜系。這些不同的細胞系表示它們的基因不同,這些也是可以度量的。這意味著在不久的將來,一個人的醫療記錄很有可能增長到幾個TB的規模。再乘以每年進行醫療護理的人數呢,這表明當前的電子醫療系統的規模可能小了四到六個數量級。

還有一些我們暫時還不知道系統,它們可能會產生更多的資料。

Michael Segel: 這是一個很難回答的問題。我認為我們會看到更多的公司從Hive的實施開始,因為它是“掛得最低的水果”。許多公司的員工都瞭解SQL,對他們來說,Hive的學習曲線最短。所以公司可以用很短的時間實現價值,能夠很容易地部署Hive去解決問題。隨著更多的公司內部Hadoop能力的提升,我想他們將會利用其他的Hadoop元件。

因為Hadoop是一個相當通用的框架,它可以用於許多不同行業中各種各樣的解決方案。例如,通過採集和處理感測器資料以確定在你商店的貨架上擺放哪些品牌的洗衣粉。你也可能有不同的用法。它是用來作為解決問題的中間步驟,還是用來提供實時資料?因為可以通過一些額外的工具來擴充套件Hadoop,我認為,我們可以期待看到這些工具被公司更多的應用,這些公司的需求很難使用已有工具集來實現。在Hadoop HDFS框架之上,有HBase(包含在Hadoop發行版)和Accumulo(由美國DoD社群建立,是‘Big Table’的另一個衍生品)。而在HBase之上,你有OpenTSDB和Wibidata去擴充套件HBase的功能。隨著這些工具的成熟和增強,我認為它們將會得到更多的應用。

我認為,隨著更多的公司採用Hadoop並開始理解它的潛力,我們將繼續看到Hadoop用於不同的方面,解決更為複雜的問題。

問題4:除了Flume、Scribe 和 Scoop之外,Hadoop與其他企業計算的整合非常少。你認為在企業IT基礎架構中,Hadoop會開始扮演更大的角色嗎?

Omer Trajman: Hadoop正在迅速地成為IT模型的資料中心。由於Flume中有用於任何事件資料豐富的連線,Sqoop可用於所有結構化資料,HttpFS可用於SOA整合和ODBC、JDBC報表工具,所以任何現有資料管理工作流程在產生資料或請求資料時都可以無縫地、安全地與Hadoop介面通訊。這種擴充套件使Hive進一步發展為Hadoop元倉庫的標準。最初的目的是在非結構化資料上對映SQL模式,Hive已經增強了安全功能(針對定義驗證和資料訪問控制),而且整合了Flume、Sqoop以及其他系統介面。如今所有Hadoop部署都用這些資料整合的功能與Hadoop交換資料。未來,他們將能夠與Hive安全地交換後設資料。

Jim Walker: 你忘了,在Hadoop堆疊還有一個重要的元件。該元件被稱為Apache HCatalog,它為Hadoop提供了一個集中式後設資料服務,這樣就能夠更容易地與傳統的系統傳遞和交換資料了。HCatalog分解了結構化資料與Hadoop之間的阻抗不匹配(impedance mismatch),這樣它們就可以使二者深度整合。Teradata的大量分析裝置和微軟的HDInsights產品都是很好的例子。在企業資料架構中,Hadoop最終在現有系統旁扮演了屬於它自己的角色。

Ted Dunning: 我自己的MapR公司,有一個業務是銷售定製的Hadoop“發行版”,它比其他“發行版”更容易整合企業基礎設施系統。客戶發現它們構建計算系統的能力真的很強,它們可以交叉擴充套件並與現有應用程式一起工作。在大部分大資料應用中,只有部分情況是真正的大規模計算。一個大資料系統的許多元件實際上並非那麼大。因此,對於大資料系統的小部件,它可以通過使用小資料技術來獲得回報,並節省出時間去開發系統中的大資料部件。

Michael Segel: 我認為這有點誤導。Flume、Scribe和Scoop都是開源的(Apache)專案,旨在整合Hadoop與其他公司的基礎設施。IBM(資料階段)和Informatica在他們的產品中新增了Hadoop整合。此外,Quest Software也同樣建立了一些解決方案以幫助與Hadoop的整合。所以業界也出現了在企業產品中適應並採用Hadoop的嘗試。事實上如果我們與所有主要的硬體和軟體公司進行交流,我們會發現他們都有一些Hadoop解決方案,作為他們產品的一部分。

總體而言,我們仍然處於Hadoop增長曲線的早期。隨著更多的公司採用Hadoop作為基礎設施的一部分,我們將看到來自傳統供應商更多的工具。許多現有的BI工具供應商利用Hive Thrift伺服器連線他們的應用。在不足的方面,資料視覺化算是其中的一個領域,我認為我們可以期待看到更多的工具進入市場。許多大型企業寄希望於BI報表和dashboard工具。與其購買一個完全獨立的工具,也許不如為了支援Hadoop去擴充套件現有的基礎設施更加讓人關注。

問題5:除了著名的Percolator之外,現在大部分Google專案都是用Hadoop實現的。你認為這樣的專案(應該)在Apache的跟蹤範圍內嗎?你瞭解實時Hadoop的其他方向嗎?

Omer Trajman: 谷歌有許多專案,它們都是特定於谷歌的需求而建立的。除Percolator之外,還有許多專案、一些已公開的以及其他仍受嚴密保護的祕密。並非所有專案都是有用的或者可適用於其他的組織。從歷史觀點上說,社群和贊助組織指望從谷歌和其他大資料公司尋找靈感,以解決如何處理非常巨大的資料管理問題。BigTable 啟發了 HBase、Chubby啟發了Zookeeper ,F1啟發了Impala 的一些命名。如今,Hadoop已經提供了若干解決方案,用於實時資料抽取(Flume)、實時資料儲存(HBase)和實時資料查詢(Impala)。未來的發展很可能被Hadoop使用者和開發社群直接驅動。

Jim Walker: 我們認為,這裡有Hadoop的應用案例,如果需要較快的資料訪問,那麼就適合用Hadoop來收集和分析。當然有很多其他不需要快速互動式訪問資料的應用案例。我們相信充分利用社群驅動過程,整個Hadoop市場會最好的服務於廣大全開放式專案。這個過程已經被證實,它可以滿足企業的預期,為企業創造穩定和可靠的軟體。Apache軟體基金會保證了這一點。

Ted Dunning: 其實我覺得Hadoop社群只是實現了很小一部分谷歌的專案。在應用程式級別,暫時沒有F1、Spanner、Dremel和Sawzall等替代品,Borg在開源社群中也沒有好的替代品,谷歌內部使用基於開關的Open Flow、作業系統虛擬層或各種各樣龐大的基礎設施服務。還有些類似的專案,他們一般都是一些遜色的仿製品。例如,我以為Mahout無法抗衡Google的機器學習系統,Lucene要想比得上谷歌的搜尋系統也有很長的路要走,甚至Hadoop比不上谷歌內部同一陣營的map-reduce系統。

開源社群終於有了適合於谷歌原始碼管理系統的Github形式,但是,如果我們想為全世界提供一些功能,那麼我們在開源社群中還要做更多大量的工作。

Michael Segel: 我想,如果我們要看近期在擴充套件和加強Hadoop上的某些討論,我認為你可以參考一下Percolator。在Quora上,我們可以看到一些活躍的專題討論。

當我們在HBase中有協處理器時,這裡有一個相對較新的專案——Drill,其中Ted Dunning也積極參與在內。(我會尊重Ted針對Drill的討論)。最近Cloudera也公佈了Impala。(我會尊重Cloudera針對Impala的討論。)



有一些公司如HStreaming,也參與了入站資料的實時處理。HStreaming是一個本地公司,作為我們的芝加哥Hadoop使用者組(CHUG)代表出席了會議。(他們已經搬到了加利福尼亞。)

實時處理方面,我認為協處理器的使用,以及Lucene和Solr更緊密的整合,我們將看到更多HBase/Hadoop的應用案例。

*問題6:許多人設法提高Hadoop的應用技能。還有很多人去找熟悉Hadoop的人。但是仍然搞不清楚,如何掌握Hadoop技術?閱讀這本書?參加培訓?考認證? *

Omer Trajman: 獲取Hadoop技能最好的方式,是參與一個Hadoop專案。剛開始做Hadoop專案時最好的方式是參加培訓班,參加認證考試並保持在專案中有一兩本可以隨時取用的好書。找一些專門研究Hadoop和更大生態系統的公司,跟他們討論也非常有用。雖然大多數專案以Hadoop為核心開始啟動,但很快就擴充套件到資料抽取處理、資料服務、分析和工作流。我們推薦與一個組織合作,它們可以提供一個從培訓到服務完整的Hadoop平臺, 跨所有堆疊和整個Hadoop的生命週期支援和管理軟體。雖然Hadoop是一個具有挑戰性的技術,但它如今已經為組織解決了一些最大的問題,根據我們的經驗,這很值得投資。

Jim Walker: 培訓是快速學習Hadoop基礎的最好方式。一旦掌握了這些,就可以做些Hadoop實踐並開始學習更多的概念了。

Ted Dunning: 我們最大的一些客戶開始喜歡在令人意想不到的地方尋找人才。而不是在通常幾所頂級的大學中爭奪那幾個水平相仿的聰明人,他們可以在二流學校中找到絕對聰明的學生,尤其 (大致而言) 是在非電腦科學領域的技術人員。然後對他們培訓大資料方面的技術,在我曾經見過的人中,這些人都做得很好。

我還遇到相當多的人去參加HUG(Hadoop使用者組)或其他興趣小組見面會,他們努力的從事自我訓練。這些人利用所有可能的方式來學習技能,包括線上課程(Andrew Ng機器學習方面的課程很受歡迎)、參加會議、建立個人專案、努力在工作中尋找大資料分析需求。

我感覺,這兩個趨勢給我們的啟示是:很難把更多的聰明人放在公司裡,而且在大資料方面,幕後更為廣泛的稱職人員的工作效果可能比靈光一閃式的想法更好。這個世界仍在快速發展,全能型人才的技能在開拓性事業中非常具有價值。但是,專家最終可能會佔主導地位,但也要再等幾年之後。與此期間,會湧現出各種優秀的人才。

Michael Segel: 我認為你漏掉了最重要的……動手實踐的經驗。雖然讀書、線上指南和示例很重要。培訓有助於加速我們學習的過程,但是在Hadoop方面,動手實踐的經驗是不可替代的。

有幾個成本較低的方式可以獲得這種經驗。首先,大部分供應商的產品都有一個可以下載的免費版本。它可以在一臺機器上在虛擬分佈模式下執行Hadoop。雖然它們大多數都需要Linux,但有一個可以在微軟上執行的產品。我們不要忘了亞馬遜。它可以加速和減速單獨的機器和叢集,以執行Map/Reduce任務和測試你的程式碼。

另外,像Infochimps這類公司將資料集放在S3上供公共使用和下載。這就使那些沒有硬體和基礎設施的人可以非常容易地去執行Hadoop。

此外,世界各地還有許多Hadoop相關的使用者組。所以可以很容易找到一個離你很近的使用者組,如果還沒有,那麼你也可以建立一個。找到同樣有志於學習Hadoop的人,能使經歷更加有趣,而且過程也不會那麼痛苦。

最後同樣重要的是,你可以到討論組和論壇中提問,你會得到答案的

相關文章