大數據Hadoop核心知識入門學習註意事項

来源:https://www.cnblogs.com/guilina/archive/2018/08/13/9467287.html
-Advertisement-
Play Games

今天來介紹新手學習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年學習的大數據開發和零基礎入門教程,歡迎初學和進階中的小伙伴。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Oracle Concepts 11gr2是介紹oracle資料庫的基礎概念的入門書籍,學習這些概念方便於學習其他更深層次的知識。 ...
  • 使用SSMS資料庫管理工具修改數據 修改任意一條或者多條都可以 1:打開資料庫,選擇數據表,右鍵點擊-》編輯所有行(如未配置,點擊編輯前200行)。 2、編輯需要修改的數據-》編輯完成後,右鍵點擊空白處-》選擇執行SQL即可編輯成功。 使用T-SQL腳本修改數據 修改單表中一行單列或者多列數據 語法 ...
  • Flume – 初識flume、source和sink 目錄基本概念常用源 Source常用sink 基本概念  什麼叫flume? 分散式,可靠的大量日誌收集、聚合和移動工具。  events 事件,是一行數據的位元組數據,是flume發送文件的基本單位。  flume配置文件 重命名flum ...
  • 1. innodb_lock_wait_timeout mysql 可以自動監測行鎖導致的死鎖併進行相應的處理,但是對於表鎖導致的死鎖不能自動監測,所以該參數主要用於,出現類似情況的時候等待指定的時間後回滾。系統預設值是50秒。用戶可以根據業務自行設置。生產環境不推薦使用過大的 innodb_loc ...
  • 1、若你用的Linux系統是CentOS的話,這是一個坑: 它會提示你JAVA_HOME找不到,現在去修改文件: 這是CentOS的一個大坑,手動配置JAVA_HOME環境變數。 2、啟動後無NameNode進程 如果在啟動Hadoop,start-all.sh之後一切正常。但是Jps查看進程時發現 ...
  • 本節介紹Oracle子查詢的相關內容: 實例用到的數據為oracle中scott用戶下的emp員工表,dept部門表,數據如下: 一、子查詢 1、概念:嵌入在一個查詢中的另一個查詢語句,也就是說一個查詢作為另一個查詢的條件,這個查詢稱為子查詢。 那麼可以使用子查詢的位置有select後面、from後 ...
  • 在MongoDB3.6引入的新feature中,change stream無疑是非常吸引人的。 Change streams allow applications to access real-time data changes without the complexity and risk of ...
  • 之前只用phpmyadmin登錄本地的mysql,管理另一個遠程資料庫的時候發現,單純用命令行處理字元串、換行符實在是不好使,所以配置了遠程登錄mysql,很簡單的問題結果沒有搜到合適的方法,所以記錄下我的配置方式。 phpmyadmin/libraries/config.default.php $ ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...