標籤:

零基礎學習 Hadoop 該如何下手?

本人選擇了 Hadoop 方面作為畢業設計,現在看著 Hadoop 權威指南學習,但還是一頭霧水,code 無法下手。


推薦一些Hadoop家族系列文章,主要介紹Hadoop家族產品,常用的項目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的項目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。

一、學習路線圖

  • Hadoop家族學習路線圖 開篇必讀
  • Hive學習路線圖
  • Mahout學習路線圖

二、編程實踐

  • Hadoop歷史版本安裝
  • 用Maven構建Hadoop項目
  • Hadoop編程調用HDFS
  • 用Maven構建Mahout項目
  • Mahout推薦演算法API詳解
  • 用MapReduce實現矩陣乘法
  • 從源代碼剖析Mahout推薦引擎
  • Mahout分步式程序開發 基於物品的協同過濾ItemCF
  • Mahout分步式程序開發 聚類Kmeans
  • PageRank演算法並行實現

三、案例分析

  • 海量Web日誌分析 用Hadoop提取KPI統計指標
  • 用Hadoop構建電影推薦系統
  • 用Mahout構建職位推薦引擎
  • Mahout構建圖書推薦系統
  • PeopleRank從社交網路中發現個體價值

-----------2017年1月更新-----

歡迎關注我存儲知識的地方:預見未來——Han Hsiao的知乎專欄Foresee


終於看到我能貢獻一點力量的問題了,摩拳擦掌,不請自來,只是不知道還有沒有人對這個問題感興趣。

先自我介紹一下,Hadoop System Engineer Hadoop Training Specialist,坐標美西,一直在招人和做training做得比較多,所以這題比較對口。

關於入門:

我比較贊同有位匿名同學的回答,如果看書一頭霧水的話,先從實際例子出發會比較容易上手。WordCount和Weather Data這種「Hello World」的例子網上有很多,可以複製下來自己跑一遍,基本上就知道Hadoop是個什麼東西,能用來幹什麼了。跑這些例子都不需要一個完整的Hadoop集群,自己本地的VM上就可以完成。

之所以我覺得這是比較好上手的方式,是因為我也認為Hadoop是一個工具,而不是一門學科。工具的一般用法是你有一個實際的問題需要解決(求和,求平均值之類的問題都可以,兩三行數據,不需要「大數據」),然後把這個工具運用到你的問題裡面,能夠使用工具之後再開始研究怎麼更好的更有效的使用這個工具。

入門會Google就行了!

關於進階:

知道是什麼,能幹什麼之後,需要知道為什麼。這很重要,這關係到你的任務是跑三個小時還是要跑三天,是需要三台伺服器還是需要三十台伺服器,就直接關係到最後要花三十還是花三百。

進階之前需要一點準備工作:Linux -(這對於所有Distributed System都非常重要),Java(能看得懂代碼就可以了),Maven(能用就可以),Scala(optional,可以邊學邊用),SBT(optional,可以照著tutorial用),

進階就需要看書(絕對不需要看源代碼。。看得下去嘛那),前面有很多位同學推薦了各種書各種博客,都應該不錯。唯一就是時間和版本問題,有些書和博客可能寫得比較早,介紹的Hadoop和其他應用都是很早的版本,現在已經完全不對了。尤其是Hadoop1和Hadoop2,這個區別是很大的,有時候碰到來面試的同學侃侃而談Hadoop1,忍不住扶額。

我只推薦兩個

- Hadoop The Definitive Guide最新版,這也是我當時的入門書,寫的非常好。強烈強烈建議看英文版的,否則容易交流障礙。。。這本書的例子都在github上可以下載下來,都跑一跑。另外Hadoop相關職位的面試問題大部分都來自於這本書,這本書看兩遍基本上面試沒問題。這是唯一一本我覺得從頭到尾必看的書。

- Cloudera的tutorial,user guide,blog和best practice。這個比較官方和實效性。這不是說你要一頁一頁看完,是你有實際問題自己解決不了了來找參考資料。

The "Getting Started With Hadoop" tutorialThe "Getting Started With Hadoop" tutorial
Cloudera Engineering BlogCloudera Engineering BlogCloudera Engineering Blog
-另外還有一個傳說中的Google三篇論文,那是Distributed System 和Big Data的開山始祖。其實我沒看懂。。有興趣也可以翻一翻。

關於深入:

關於怎麼深入學Hadoop,我看了前面很多答主的回答,覺得需要補充一點點。Hadoop分為兩個大塊:HDFS和MapReduce。

HDFS - Hadoop Distributed FileSystem。這個概念很好,但是其實我不覺得很實用。但是如果你之後要往Non SQL方面深入的話這個還是很重要,HDFS是HBASE的基礎,Hbase又可以延伸到Big Table,DynamoDB,Mango等。HDFS概念不難,Hadoop The Definitive Guide裡面講的很清楚,看書就好。

MapReduce - 前面說最好看英文版,因為不管中文怎麼翻譯,Map,Reduce都是沒辦法像讀英文那樣容易理解的。這裡面有個YARN的概念,是最最最重要的。MapReduce是管數據怎麼流動的,YARN是管集群中的資源怎麼分配的。除了YARN以外,MapReduce還有幾個很重要的概念,比如Partition, combine, shuffle, sort, 都在書里很小的位置,但是都對理解整個MapReduce非常有幫助。

關於log:

我的日常,感覺每天看log都快要看到眼瞎。

如果你使用Hadoop,那麼看log的時間估計會佔了一大半。怎麼看log,先從Resource Manager web UI開始入手吧。這是個web UI,可以讓你查看每個任務的具體進展,container的運行等等。

關於其他應用:

再下一步就是Hadoop上其他的應用, Hive,Pig,Spark,Cassandra,Presto什麼的,都很容易掌握。因為這些都是為了方便Data Scientist什麼的更容易上手掌握Hadoop而編寫的比較上層的應用,一兩個小時就可以上手了,建議繼續看Hadoop The Definitive Guide。

但是Spark要單獨提出來講一講,Spark其實不是Hadoop上面的應用,它也可以使用除了YARN之外的其他資源分配系統。但是Spark使用的人很多,很多任務用Spark比用Hadoop MR要快一些,Spark也比其他的應用要複雜一點。如果有興趣還是可以從Hadoop The Definitive Guide開始,然後邊做實際的例子邊學習。


關於Hadoop的使用方式:

感覺現在各個公司使用Hadoop的方式都不一樣,主要我覺得有兩種吧。

第一種是long running cluster形式,比如Yahoo,不要小看這個好像已經沒什麼存在感的公司,Yahoo可是Hadoop的元老之一。這種就是建立一個Data Center,然後有幾個上千Node的Hadoop Cluster一直在運行。比較早期進入Big Data領域的公司一般都在使用或者使用過這種方式。

另一種是只使用MapReduce類型。畢竟現在是Cloud時代,比如AWS的Elastic MapReduce。這種是把數據存在別的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析數據的時候開啟一個Hadoop Cluster,Hive/Pig/Spark/Presto/Java分析完了就關掉。不用自己做Admin的工作,方便簡潔。

所以個人如果要學Hadoop的話我也建議第二種,AWS有免費試用時間(但是EMR並不免費,所以不要建了幾千個Node一個月後發現破產了。。),可以在這上面學習。最重要的是你可以嘗試各種不同的配置對於任務的影響,比如不同的版本,不同的container size,memory大小等等,這對於學習Spark非常有幫助。

最後如果對hadoop學習有疑問,對相關職業有興趣,或者身在北美乾脆要跳槽的,非常歡迎來找我:)

PS,我的回答好像也超綱了。不過也許會有人想要知道這些。


1."Hadoop.Operations.pdf.zip"http://vdisk.weibo.com/s/vDOQs6xMAQH62
2."Hadoop權威指南(中文版)(帶書籤).pdf"Hadoop權威指南(中文版)(帶書籤).pdf
3."[Hadoop權威指南(第2版)].pdf"[Hadoop權威指南(第2版)].pdf
4."hadoop權威指南第3版2012.rar"hadoop權威指南第3版2012.rar

5.《Hadoop技術內幕:深入解析HadoopCommon和HDFS.pdf"《Hadoop技術內幕:深入解析Hadoop Common和HDFS.pdf
6."Hadoop技術內幕:深入解析MapReduce架構設計與實現原理.pdf"Hadoop技術內幕:深入解析MapReduce架構設計與實現原理.pdf

7."Hadoop實戰.pdf"Hadoop實戰.pdf
8."Hadoop實戰-陸嘉恆(高清完整版).pdf"Hadoop實戰-陸嘉恆(高清完整版).pdf
9."Hadoop實戰(第2版).pdf"Hadoop實戰(第2版).pdf
10."HadoopinAction.pdf"Hadoop in Action.pdf

11"Hadoop in practice.pdf"Hadoop in practice.pdf
12"HadoopThe.Definitive.Guide,3Ed.pdf"Hadoop The.Definitive.Guide,3Ed.pdf
13."O"Reilly.Hadoop.The.Definitive.Guide.3rd.Edition.May.2012.pdf"O"Reilly.Hadoop.The.Definitive.Guide.3rd.Edition.May.2012.pdf

14."hadoop入門實戰手冊.pdf"hadoop入門實戰手冊.pdf
15."Hadoop入門手冊.chm"Hadoop入門手冊.chm

16."windows下配置cygwin、hadoop等並運行mapreduce及mapreduce程序講解.doc"windows下配置cygwin、hadoop等並運行mapreduce及mapreduce程序講解.doc
17"在Windows上安裝Hadoop教程.pdf"在Windows上安裝Hadoop教程.pdf

18."Hadoop源代碼分析(完整版).pdf"Hadoop源代碼分析(完整版).pdf
19."hadoop-api.CHM"hadoop-api.CHM

20."HBase-Hadoop@小米.pptx" HBase-Hadoop@小米.pptx
21."但彬-Hadoop平台的大數據整合.pdf"但彬-Hadoop平台的大數據整合.pdf

22."QCon2013-羅李-Hadoop在阿里.pdf"QCon2013-羅李
23."百度hadoop計算技術發展.pdf"百度hadoop計算技術發展.pdf
24."QCon-吳威-基於Hadoop的海量數據平台.pdf"QCon-吳威-基於Hadoop的海量數據平台.pdf
25."8步安裝好你的hadoop.docx"8步安裝好你的hadoop.docx
26."hadoop運維經驗分享.ppsx"hadoop運維經驗分享.ppsx

27."PPT集萃:20位Hadoop專家分享大數據技術工具與最佳實踐.rar"PPT集萃:20位Hadoop專家分享大數據技術工具與最佳實踐.rar
28."Hadoop2.0基本架構和發展趨勢.pdf"Hadoop 2.0基本架構和發展趨勢.pdf
29."Hadoop與大數據技術大會PPT資料.rar"Hadoop與大數據技術大會PPT資料.rar
30."Hadoop2011雲計算大會.rar"Hadoop2011雲計算大會.rar

31."hadoop開發者(1~3)期.zip"hadoop開發者.zip


獲得這麼多人感謝和贊同,我也感到很高興。我在知乎答題不多,這是我票數最多的答案。修改了幾個錯別字,順便感慨一下:認真答題果然能獲得認同,可以認真的答案越來越少了。我也沒有以前那麼喜歡知乎了。

------------------------------------------分割線---------------------------------------
重新整理下我的回答。(我不是Hadoop專家,也只是一個初學者,這裡我也只是就自己的學習體會,站在初學者的角度談一下如何入門。)
首先我覺得應該思考這樣一個問題:Hadoop對於我們來講,是一種工具,那麼Hadoop幫助我們解決了什麼問題?或者換個角度想,沒有Hadoop,我們做同樣一項工作會增加什麼任務?(想清楚了這問題,心裡就會形成Hadoop到底是什麼,能做什麼的概念。初學者在最初時候很容易框架當成負擔,但實際上他應該是工具。明白了Hadoop這個神器的美妙後,你就可以開始心懷期待的去慢慢駕馭它了。)
初學Hadoop,最基礎的也就是HDFS和Mapreduce了,HDFS是一個分散式存儲文件系統,Mapreduce是一個分散式計算的框架,兩者結合起來,就可以很容易做一些分散式處理任務了。作為入門,先只需要學習這兩樣就夠了。
好了,那就開始講一下怎麼學習這兩樣。
1、首先你肯定要搭建好環境。(這些網上教程很多。)然後,找一篇講Hdfs java API的文章HDFS API詳解把其中的例子跑一下,感受一下就可以了。(只需要只要有哪些API,大概怎麼用,以後要用,直接在裡面找,或者查看API文檔。)
2、然後就是Mapreduce了。說簡單一點,這就是一個編程介面,這個框架幫我們抽象了很多分散式處理的細節,我們只需要簡單的編寫mapreduce任務就可以了。要想編寫mapreduce程序,首先你應該弄清楚mapreduce的基本流程Hadoop -- MapReduce過程,然後要清楚,我們自己編程寫mapreduce任務需要編寫哪些東西(就是哪些部分是可以重寫,應該重寫的),這個可以參考劉鵬的《實戰Hadoop》,裡面細緻的剖析了wordcount程序的運行過程,並說明了哪些函數是我們編程需要實現的。看懂了這些(最好要運行一些這些程序),你基本就可以寫一些mapreduce程序,處理一些簡單的任務了。(至於mapreduce高級運行,比如定製數據類型、patitioner、組合任務等等這些,你只要知道有這些就可以了,需要用的時候再仔細看。)

還有谷歌的那篇MapReduce_Simplified_Data_Processing_on_Large_Clusters可以多讀幾遍,可以解決你心中對於mapreduce框架的很多疑問。另外給個鏈接MapReduce的核心資料索引。

我覺得知道了這些,基本就是入門了。然後再要深入學習,你就可以根據自己的需要去學了(這個時候你應該也知道該怎麼學了)。至於hadoop衍生的那些HIVE、Pig等等,我覺得只需要知道有那些東西,知道那些能做什麼就可以了。因為我們的目的只是把Hadoop作為工具。如果是其他目的,你可以看看mapreduce源碼分析之類吧。我暫時沒搞這些,不懂,就不多說了。


親,有關Hadoop學習小編特地找到了阿里大數據專家封神

阿里封神談hadoop學習之路-博客-雲棲社區-阿里雲以下是其對於Hadoop學習之路的一些見解:

Hadoop是一個由Apache基金會所開發的開源分散式系統基礎架構。用戶可以在不了解分散式底層細節的情況下,開發分散式程序,充分利用集群的威力進行高速運算和存儲。Hadoop得以在大數據處理應用中廣泛應用得益於其自身在數據提取、變形和載入(ETL)方面上的天然優勢。Hadoop的分散式架構,將大數據處理引擎儘可能的靠近存儲。

為了幫助大家進一步了解Hadoop,雲棲社區組織翻譯了GitHub Awesome Hadoop 資源,涵蓋Hadoop中常見的庫與工具、存儲方式、資料庫,以及相關的書籍、網站等資源。

Hadoop學習資源集合-博客-雲棲社區-阿里雲


下部:五四青年最熱愛:史上最全的「大數據」學習資源(下)-博客-雲棲社區-阿里雲


Fei Dong | LinkedIn

本人前兩年收集的資料

  • Paper
    • Starfish: A Self-tuning System for Big Data Analytics
    • MapReduce Online
    • Hive --- Stanford University
  • Lecture
    • cloudera lectures
  • Research Project
    • Starfish --- Duke University
    • Hadoop Online Prototype -- Berkeley
    • Phoenix -- Stanford
    • Projects/Monitoring Hadoop through Tracing --- Berkeley
    • HadoopDB --- Yale University
    • Hadoop@Brown --- Brown University
    • Hadoop@UMD --- University of Maryland (Jimmy Lin)
    • Hadoop++ --- Saarland University
    • Haloop --- UCI
  • Industry/Open Source
    • Hadoop --- Apache
    • MapReduce NextGen aka YARN aka MRv2 --- Apache
    • Pig --- Apache
    • Hive --- Apache
    • HCatalog --- Apache
    • Mesos --- Apache
    • Cascading --- Concurrent
    • SNA --- LinkedIn
    • Storm --- Twitter
    • S4 --- Yahoo
    • Oozie --- Yahoo
  • Industry/Startup
    • Cloudera
    • Greenplum
    • Hortonworks
    • Teradata
    • MapR
    • Datameer
    • Karmasphere
    • Datatax
    • Acunu
    • Asterdata
    • HAdapt
    • HStreaming
    • CloudScale
  • Conference
    • Hadoop World
    • HBaseCon
    • Hadoop Summit
  • Tutorial
    • Hadoop for beginners --- Yahoo!

學一個新技術或者框架的時候極其重要的一點是有一個環境去檢驗在學習過程中學到的東西,還可以強化記憶(和信心),而且後面深入學習的效率能大大提高。

所以我給初學者的建議是:
先部署一個自己的Hadoop環境。

要把主流的hadoop項目的環境搭起來不是一件很舒服的事情,上百的配置一兩個配不對shell都跑不起來。我一般推薦下一個Hortonwork的sandbox,先把單機Hadoop跑起來。

為什麼是單機版?對外界依賴最少,不需要看wifi信號或者gfw的臉色。

這個sandbox就是一個HDP(hortonworks data platform),已經包含了HDFS,Pig,Hive,Oozie,Hue等主流數據處理需要的組件。所以做點基本的實驗是沒問題了。

勺子好了以後就可以慢慢品嘗其他答主熬的好湯了吧。


最代碼網站上有分享的hadoop代碼,有興趣的可以看看:
hadoop入門教程及其實例代碼
搜索"hadoop"的分享列表


我直接是白手起家搞hadoop的,沒有看權威指南,不懂就google之。
我開始也沒研究源代碼,我先研究Hadoop是怎麼跑起來的,怎麼工作的。
然後過了一段時間,我去看《Hadoop權威指南》,和實踐相印證,上手很快。
Hadoop 這個課題太大,人家花了幾年時間研究出來的,你想搞個畢設就想剖析清楚,這個有點不現實。
我的建議是,只研究hadoop的一到兩個模塊就行了。比如HDFS,Map/Reduce,HBse,Hive,Zookeeper 在這幾個中間選一兩個研究就可以了。


可以先看看Google早期的兩篇論文:Google mapreduce和Google file system,這樣你對hadoop的基本原理就搞清楚了,hadoop的兩個核心部分mapreduce和hdfs,分別對應寫計算和存儲系統。

之後,就到cloudera下載一個cdh最新版,然後找台機器安裝一下,自己手頭沒有機器,就上阿里雲之類的買個幾百塊的虛擬機。安裝成功後,就去寫幾個簡單的mapreduce任務,這樣,你就完成入門了。


推薦這個:秋水

《從零開始學習Hadoop》一書完整pdf版在這裡可以下載:http://vdisk.weibo.com/s/zK1F9hyOXkXvO/1383551752

大部分文章將在csdn

csdn主頁

http://blog.csdn.net/lizhe_dashuju

------------------------------------


你是說Hadoop : The Definitive Guide嗎?
看代碼前你要先了解下代碼的結構,看看都有哪些包,基本上從包的名字可以猜出各個模塊在幹嘛的。

你可以從寫代碼入手,自己先寫寫Hadoop程序,熟悉下Hadoop的介面。之後再看看你調用的一些關鍵方法Hadoop是怎麼實現的,比如runJob啦,collect啦這些。然後再從這些點逐漸拓展開來慢慢看。在你對代碼有一定了解之後,可以針對你感興趣的地方,試著修改Hadoop的代碼增加一些小功能。

P.S. 畢業設計不是有指導老師嗎?而且現在不是暑假嗎???


16年7月的新回答哦
-----------------------------------------------------------------------------------
最近在學hadoop,所以寫點經驗給和我一樣的新人
進來的人應該都是被「零基礎」吸進來的,我的零基礎是:之前沒有接觸過linux,沒有接觸過任何大數據知識,有一點java基礎。
本來以為自己能看高票的那些文檔自己搞懂,然而太高估了自己,如果你和我一樣,連集群是什麼?vi,sudo是什麼命令?都搞不懂,那請認真看這篇文章

請不要看任何書籍(像什麼《hadoop權威指南》),因為書都是講起源講原理,而我們需要的是手把手的實戰指導。
如果想先了解下hadoop相關的背景知識,可以看這篇Hadoop新手學習指導

當你看著看著如果發現自己看不懂了,推薦一個培訓班課程,百度視頻搜索_傳智播客hadoop教程01(雖然視頻里老師的英語發音極不標準,一聽就很low的感覺,但真的通俗易懂。出警告了還帶著你一起看源碼,分析出警告的原因。帶著你看hadoop文件夾中的各個文件,了解hdfs的多重備份是備份到哪兒的,是由哪些代碼實現的)

還有個問題就是任何書籍,視頻,講的版本和你用的不一致,甚至差很多,所以請搜一下hadoop最新的官方文檔,對照著看,我最新的是Hadoop – Apache Hadoop 2.7.0如果英文不好,有箇舊文檔的中文版,不過大同小異Hadoop快速入門

對hadoop有一定了解,搭建好環境後,推薦這個博客從零開始學習Hadoop

萬事開頭難,當你有大致了解後,其實後面該怎麼學,自己就懂了


寫Hadoop Streaming程序,通常會編程就能寫,介面簡單標準輸入輸出。


hadoop和Spark是兩種不同的大數據處理框架,他們的組件都非常多,往往也不容易學,我把他們兩者整理在一幅圖中,給大家一個全貌的感覺。初學者可以針對如下圖中的組件,逐個的去研究攻破。至於各組件的詳細介紹、相關聯繫和區別,以及它們在大數據平台建設中的具體實施關注點,待點贊數達到1000,我再對帖子進行詳細的更新,請大家隨手幫忙點個贊。

以上這些大數據組件是日常大數據工作中經常會碰到的,每個組件大概的功能,我已經在圖中做了標識。下面,針對這幅圖我給大家兩點重要提示:

a.藍色部分,是Hadoop生態系統組件,黃色部分是Spark生態組件,雖然他們是兩種不同的大數據處理框架,但它們不是互斥的,Spark與hadoop 中的MapReduce是一種相互共生的關係。Hadoop提供了Spark許多沒有的功能,比如分散式文件系統,而Spark 提供了實時內存計算,速度非常快。有一點大家要注意,Spark並不是一定要依附於Hadoop才能生存,除了Hadoop的HDFS,還可以基於其他的雲平台,當然啦,大家一致認為Spark與Hadoop配合默契最好擺了。

b.技術趨勢:Spark在崛起,hadoop和Storm中的一些組件在消退。大家在學習使用相關技術的時候,記得與時俱進掌握好新的趨勢、新的替代技術,以保持自己的職業競爭力。

HSQL未來可能會被Spark SQL替代,現在很多企業都是HIVE SQL和Spark SQL兩種工具共存,當Spark SQL逐步成熟的時候,就有可能替換HSQL;

MapReduce也有可能被Spark 替換,趨勢是這樣,但目前Spark還不夠成熟穩定,還有比較長的路要走;

Hadoop中的演算法庫Mahout正被Spark中的演算法庫MLib所替代,為了不落後,大家注意去學習Mlib演算法庫;

Storm會被Spark Streaming替換嗎?在這裡,Storm雖然不是hadoop生態中的一員,但我仍然想把它放在一起做過比較。由於Spark和hadoop天衣無縫的結合,Spark在逐步的走向成熟和穩定,其生態組件也在逐步的完善,是冉冉升起的新星,我相信Storm會逐步被擠壓而走向衰退。

歡迎大家關注我的知乎專欄「大數據實踐與職業生涯」並留言,專欄會陸續的推出過往十多年的大數據工作經驗總結和我的一些研究實踐成果。如果你是大數據新人,或者想轉行進入大數據領域,或者大數據職業生涯上存在一些疑惑,都歡迎關注我的知乎live分享「大數據人的職業生涯規劃」 、 「數據分析師-從零入門到精通」、「大數據人的數據科學家之路」。


上面有的答案也是夠了。
"選擇了 Hadoop 方面作為畢業設計"的話,有必要列那麼一堆嗎。
不過建議題主首先學一下java。
然後了解一下hadoop的基本介紹,一些概念了解一下。
再找個mapreduce的小例子,比如矩陣乘法,把這個弄懂。
再想一下畢設做什麼,不能太難也不能太簡單。
然後去實現吧。


零基礎學習hadoop到上手工作線路指導(初級篇)
http://www.aboutyun.com/thread-6780-1-1.html
有本網路書很不錯,推薦
零基礎學習hadoop到上手工作線路指導(about雲網路書籍)
零基礎學習hadoop到上手工作線路指導(about雲網路書籍)-about雲資源-about雲開發


書籍推薦

1.《Hadoop實戰》:按照人類容易理解的方式闡述Hadoop如何入門的。

2.《Hadoop權威指南》(中文版):Hadoop中的聖經級教材,很全,不過看起來挺累。

3.《Hadoop技術內幕》系列:語言清晰易懂,敘述細緻,校印精確,強烈推薦有志於Hadoop的同學人手一套。

在線學習機構

1.小象學院 :大數據在線教育機構,收費教育,有錢的主可以考慮。

2.實驗樓:免費的IT在線實訓平台,提供了hadoop學習的在線環境支持,搭配網站提供的實驗指導文檔可直接動手進行hadoop的實踐操作。

免費課程

中國大學MOOC課程-大數據演算法:哈爾濱工業大學王宏志老師的在中國大學MOOC的慕課。

Hadoop部署及管理

HIVE教程

Mapreduce編程系列

Mahout教程

上面4門課都是實驗樓hadoop的相關課程。

技術博客

1.hadoop家族系列文章:粉絲日誌里的博文全面細緻的介紹了hadoop家族產品。

2.細細品味Hadoop:博客園推薦博主蝦皮老師的博文,更新周期每周一次,正在持續更新。

hadoop jira

Hadoop jira是最好的學習資料,裡面有大量的PDF文檔、栩栩如生的對話和探討,建議每天都讀Hadoop jira,養成習慣,並參與討論。

1.HDFS jira

2.MapReduce jira

3.YARN jira


看很多答主說什麼看源碼,看書,本人全部親身試驗過,當初也是信誓旦旦,然而並沒有什麼卵用!!!請問源碼看的下去嗎??書又從何看起呢??→_→在hadoop上跑一個wordcount程序大致知道基本原理,編程的時候哪兒不會查哪兒,在此基礎上練習寫別的程序。效果杠杠的!


精心收集的Hadoop學習資料(持續更新) 這裡有好多Hadoop的書籍


推薦閱讀:

自學編程和計算機科班出身的差別在哪?
關於 Python 的經典入門書籍有哪些?
編程是否該作為基礎教育的一部分?
Visual Studio 有哪些好用的插件?
關於後端程序員寫前端用什麼框架更好?

TAG:編程 | Hadoop |