2018年最新Hadoop大數據開發學習路線圖

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

Hadoop發展到今天家族產品已經非常豐富,能夠滿足不同場景的大數據處理需求。作為目前主流的大數據處理技術,市場上很多公司的大數據業務都是基於Hadoop開展,而且對很多場景已經具有非常成熟的解決方案。 作為開發人員掌握Hadoop及其生態內框架的開發技術,就是進入大數據領域的必經之路。 下麵詳細介 ...


Hadoop發展到今天家族產品已經非常豐富,能夠滿足不同場景的大數據處理需求。作為目前主流的大數據處理技術,市場上很多公司的大數據業務都是基於Hadoop開展,而且對很多場景已經具有非常成熟的解決方案。

作為開發人員掌握Hadoop及其生態內框架的開發技術,就是進入大數據領域的必經之路。

 

下麵詳細介紹一下,學習Hadoop開發技術的路線圖。

Hadoop本身是用java開發的,所以對java的支持性非常好,但也可以使用其他語言。

下麵的技術路線側重數據挖掘方向,因為Python開發效率較高所以我們使用Python來進行任務。

因為Hadoop是運行在Linux系統上的,所以還需要掌握Linux的知識。

 

第一階段:Hadoop生態架構技術

1、語言基礎

Java:掌握javase知識,多理解和實踐在Java虛擬機的記憶體管理、以及多線程、線程池、設計模式、並行化就可以,不需要深入掌握。

Linux:系統安裝(命令行界面和圖形界面)、基本命令、網路配置、Vim編輯器、進程管理、Shell腳本、虛擬機的菜單熟悉等等。

Python:基礎語法,數據結構,函數,條件判斷,迴圈等基礎知識。

2、環境準備

這裡介紹在windows電腦搭建完全分散式,1主2從。

VMware虛擬機、Linux系統(Centos6.5)、Hadoop安裝包,這裡準備好Hadoop完全分散式集群環境。

 

 

3、MapReduce

MapReduce分散式離線計算框架,是Hadoop核心編程模型。主要適用於大批量的集群任務,由於是批量執行,故時效性偏低。

4、HDFS1.0/2.0

Hadoop分散式文件系統(HDFS)是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。

5、Yarn(Hadoop2.0)

前期瞭解即可,Yarn是一個資源調度平臺,主要負責給任務分配資源。Yarn是一個公共的資源調度平臺,所有滿足條件的框架都可以使用Yarn來進行資源調度。

6、Hive

Hive是一個數據倉庫,所有的數據都是存儲在HDFS上的。使用Hive主要是寫Hql,非常類似於Mysql資料庫的Sql。其實Hive在執行Hql,底層在執行的時候還是執行的MapRedce程式。

7、Spark

Spark 是專為大規模數據處理而設計的快速通用的計算引擎,其是基於記憶體的迭代式計算。Spark 保留了MapReduce 的優點,而且在時效性上有了很大提高。

8、Spark Streaming

Spark Streaming是實時處理框架,數據是一批一批的處理。

9、Spark Hive

基於Spark的快速Sql檢索。Spark作為Hive的計算引擎,將Hive的查詢作為Spark的任務提交到Spark集群上進行計算,可以提高Hive查詢的性能。

10、Storm

Storm是一個實時計算框架,和MR的區別就是,MR是對離線的海量數據進行處理,而Storm是對實時新增的每一條數據進行處理,是一條一條的處理,可以保證數據處理的時效性。

11、Zookeeper

Zookeeper是很多大數據框架的基礎,它是集群的管理者。監視著集群中各個節點的狀態根據節點提交的反饋進行下一步合理操作。

最終,將簡單易用的介面和性能高效、功能穩定的系統提供給用戶。

12、Hbase

Hbase是一個Nosql 資料庫,是一個Key-Value類型的資料庫,是高可靠、面向列的、可伸縮的、分散式的資料庫。

適用於非結構化的數據存儲,底層的數據存儲在HDFS上。

13、Kafka

kafka是一個消息中間件,在工作中常用於實時處理的場景中,作為一個中間緩衝層。

14、Flume

Flume是一個日誌採集工具,常見的就是採集應用產生的日誌文件中的數據,一般有兩個流程。

一個是Flume採集數據存儲到Kafka中,方便Storm或者SparkStreaming進行實時處理。

另一個流程是Flume採集的數據存儲到HDFS上,為了後期使用hadoop或者spark進行離線處理。

 

第二階段:數據挖掘演算法

1、中文分詞

開源分詞庫的離線和線上應用

2、自然語言處理

文本相關性演算法

3、推薦演算法

基於CB、CF,歸一法,Mahout應用。

4、分類演算法

NB、SVM

5、回歸演算法

LR、Decision Tree

6、聚類演算法

層次聚類、Kmeans

7、神經網路與深度學習

NN、Tensorflow

以上就是學習Hadoop開發的一個詳細路線,鑒於篇幅原因只列舉和解釋了框架作用,如果需要瞭解具體框架的開發技術,可以百度搜索八鬥Hadoop大綱,詳細瞭解。

學習完第一階段的知識,已經可以從事大數據架構相關的工作,可以在企業中負責某些或某個的開發與維護工作。

學習完第二階段的知識,可以從事數據挖掘相關的工作,這也是目前進入大數據行業含金量最高的工作。大數據學習資料分享群119599574 不管你是小白還是大牛,小編我都挺歡迎,不定期分享乾貨,包括我自己整理的一份最新的適合2018年學習的大數據開發和零基礎入門教程,歡迎初學和進階中的小伙伴。


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

-Advertisement-
Play Games
更多相關文章
  • DDL(Data Definition languages)數據定義語言,這些語句主要定義了不同的數據段,數據表、列、索引等操作,主要關鍵字有create、drop、alter。 一、 資料庫的操作 1.資料庫的創建 CREATE DATABASE IF NOT EXISTS chens; 2.數據 ...
  • 定義:數據操作語言主要實現對資料庫表中的數據進行操作,主要包括插入(insert)、更新(update)、刪除(delete)、查詢(select),本節主要介紹增刪改。 數據準備: 一、數據的插入(insert) 基本語法: insert into 表名(列名,...) values(值1,... ...
  • 1、Oracle win64_12g 安裝 1.下載安裝包:這裡需要自己註冊一下,然後就可以登錄下載軟體了。 下載地址: "http://www.oracle.com/technetwork/database/enterprise edition/downloads/index.html" 記得下載 ...
  • 1)安裝mysql ubuntu中安裝一臺mysql了,docker安裝另外一臺mysql 獲取mysql的鏡像,主從同步儘量保證多台mysql的版本相同,我的ubuntu中存在的mysql是5.7.22版本,所以獲取5.7.22版本的鏡像為例: 運行mysql docker鏡像,需要在宿主機中建立 ...
  • springboot作為現在十分流行的框架,簡化Spring應用的初始搭建以及開發過程,現在我們就使用springboot來進行簡單的web項目搭建並對項目sql進行監控。 項目的搭建就省略了,springboot項目搭建好以後,進行一下操作, 本例子的項目使用 maven 管理的jar 1.加入依 ...
  • 引發思考 今天,發現開發項目中的單號重覆了。 這是多用戶併發操作相同數據導致的結果。有點抽象,理解如下:實際就是多個事務交叉執行(增、刪、查、改)了相同數據。導致一個事務不具有完整性了,資料庫的數據也不一致了(這裡‘’一致‘’可以理解為:我希望的數據,跟我想像的不一樣,比如明明我剛update某表性 ...
  • 定義 函數用於計算和返回一個結果值,把經常需要進行的計算寫成函數,函數的調用是表達式的一部分。 函數與過程在創建的形式上有些相似,也是編譯後放在記憶體中供用戶使用。 函數必須有一個返回值,而過程沒有做強制的規定。 RETURN在聲明部分需要定義一個返回參數的類型,而在函數體中必須有一個RETURN語句 ...
  • 事務 MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事務相關的命令。事務可以一次執行多個命令, 並且帶有以下兩個重要的保證: 事務是一個單獨的隔離操作:事務中的所有命令都會序列化、按順序地執行。事務在執行的過程中,不會被其他客戶端發送來的命令請求所打斷。 事務是一個原 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...