回覆列表
  • 1 # 千鋒頭號粉絲

    我們都知道現在學習大資料,Hadoop是其中一個必學的技術,簡單來說,Hadoop是在分散式伺服器叢集上儲存海量資料並執行分散式分析應用的一種方法。那Hadoop該學習哪些內容?需要了解什麼呢?有Hadoop經典學習資料嗎?

    HDFS

    HDFS(Hadoop Distributed File System,Hadoop分散式檔案系統),它是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的資料訪問,適合那些有著超大資料集(large data set)的應用程式。

    MapReduce

    通俗說MapReduce是一套從海量源資料提取分析元素末後返回結果集的程式設計模型,將檔案分散式儲存到硬碟是第一步,而從海量資料中提取分析我們需要的內容就是MapReduce做的事了。

    MapReduce的基本原理就是:將大的資料分析分成小塊逐個分析,然後再將提取出來的資料彙總分析,從而獲得我們想要的內容。當然怎麼分塊分析,怎麼做Reduce操作非常複雜,Hadoop已經提供了資料分析的實現,我們只需要編寫簡單的需求命令即可達成我們想要的資料。

    關於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適合應用於大資料儲存和大資料分析的應用,適合於伺服器幾千臺到幾萬臺的叢集執行,支援PB級的儲存容量。Hadoop典型應用有:搜尋、日誌處理、推薦系統、資料分析、影片影象分析、資料儲存等。

    大資料產業已進入發展的“快車道”,急需大量優秀的大資料人才作為後盾。能夠在大資料行業崛起的初期進入到這個行業當中來,才有機會成為時代的弄潮兒。千鋒大資料開發新進企業級伺服器實戰教學,20周帶你一站式搞定匪夷所思的大資料開發技術。

  • 中秋節和大豐收的關聯?
  • 公元1587年初春,萬曆皇帝龍顏大怒,嚴懲全體官員,為什麼?