今天來介紹新手學習hadoop的入門註意事項。這篇文章一來談談hadoop核心知識學習。 首先hadoop分為hadoop1.X和hadoop2.X,並且還有hadoop生態系統,那麼下麵我們以hadoop2.x為例進行詳細介紹: Hadoop的核心是mapreduce和hdfs。 Mapreduc ...
今天來介紹新手學習hadoop的入門註意事項。這篇文章一來談談hadoop核心知識學習。
首先hadoop分為hadoop1.X和hadoop2.X,並且還有hadoop生態系統,那麼下麵我們以hadoop2.x為例進行詳細介紹:
Hadoop的核心是mapreduce和hdfs。
Mapreduce:mapreduce是很多人都需要邁過去的檻,它比較難以理解,我們有時候即使寫出了mapreduce程式,但是還是摸不著頭腦。我們都知道mapreduce是一種編程模型,那麼它能幹什麼,對我有什麼用。它的原理是什麼,為什麼我們編寫了map函數,reduce函數就可以在多台機器上運行,這些問題或許都給初學者帶來了困擾。
那麼我們就要瞭解:
什麼是mapreduce?
Mapreduce的工作原理是什麼?
Mapreduce的工作流程是什麼?
Mapreduce的編程模型是什麼?
shuffle是什麼?
partition是什麼?
combiner是什麼?
他們三者之間的關係是什麼?
map的個數由誰來決定,如何計算?
reduce個數由誰來決定,如何計算?
mapreduce熟悉了,還有一些問題困擾著初學者,雖然有了Java基礎,但是我們需要搭建開發環境,該如何搭建開發環境?
那麼就需要我們學習Windows上如何使用Eclipse遠程連接Hadoop併進行程式開發
因為在操作mapredcue過程中伴隨著操作hdfs,就像我們傳統開發,編程是離不開資料庫一樣。hdfs可以理解為傳統編程的資料庫,但是其實他不是,真正的資料庫是hadoopdatabase,也就是hbase。好了下麵,我們開始講如何學習hdfs:
HDFS:我們至少應該學習以下內容
什麼是HDFS及HDFS架構設計?
HDFS體繫結構簡介及優缺點?
Hdfs如何存儲數據?
Hdfs如何讀取數據?
Hdfs如何寫入文件?
Hdfs的副本存放策略?
如何訪問hdfs?
Hdfs數據如何複製?
Namenode的熱備?
hadoop生態系統內容還是比較多的,但是最常用的是hive,hbase。
Hive是初學者進入大數據(hadoop)行業最好的選擇入口,因為它提供了簡單的類sql語句,使得不懂得mapreduce程式編寫的學員也能夠很輕鬆的進入大數據行業。所以建議大家(尤其是零基礎的學員)在學習hadoop的過程中,可以著重加強對hive的學習,尤其是hive語句的熟練操作。當然對於有資料庫基礎的學員學習hive就更容易一些。
Hbase是一種nosql資料庫,只有當數據量非常大時,比如TB、PB級,hbase才能發揮出很好的效果,所以對於致力於加入大公司的學員,可以深入學習hbase,尤其是hbase表的設計,rowkey的設計,hbase性能的調優,hbase和hive、impala的結合等。
Yarn是分散式集群資源管理框架,也是hadoop2.x和hadoop1.x明顯不同的地方,所以我們還是有必要對yarn的原理、框架、組成部分進行詳細的瞭解的。
對於hadoop其他的組件:比如海量日誌收集工具flume,數據導入導出工具sqoop,應用程式協調服務zookeeper,學員可以結合實戰項目學習其原理,如何使用即可。
對於想從事數據挖掘的學員,可以深入學習mahout、機器學習、演算法等相關知識,根據學員自己的職業選擇和興趣愛好自主選擇,建議零基礎的學員最好是先從hive入手。
Storm是一種基於流的計算框架,spark是基於記憶體的計算框架,它們是不同於mapreduce的計算框架,但作用都是對數據的處理和分析,建議初學者在學習好mapreduce的前提下,可以對storm和spark進行深入的學習,切記貪多嚼不爛。通而不精。
如果想更加深入的學習,豐富自己的知識,可以選擇性的學習一下shell、python腳本語言,Redis、MongoDB等nosql資料庫,如果想做hadoop運維的,也可以學習ganglia和nagios等監控工具。
最後建議大家在學習過程中一定要由淺入深、從簡單到複雜、理論和實踐相結合,由於hadoop生態系統的工具比較多,每個工具有不同的側重點,所以再次提醒大家切記貪多、切記浮躁、只有基礎扎實了,後續的學習才會更輕鬆、更快速、更高效。大數據學習資料分享群119599574 不管你是小白還是大牛,小編我都挺歡迎,今天的源碼已經上傳到群文件,不定期分享乾貨,包括我自己整理的一份最新的適合2018年學習的大數據開發和零基礎入門教程,歡迎初學和進階中的小伙伴。