大數據學習路線

背景

近年來大數據BigData、人工智能AI、物聯網Iot等行業發展迅猛,不少人都想要從事大數據技術開發工做,可是,請問要怎麼作路線是什麼?從哪裏開始學?學哪些?這是一個大問題。對於我本身來講,最近也在學一些大數據開發相關的技術,因此以前整理了一份《大數據技術學習路線》,但願對你有所幫助。java

學習規劃

總共分爲五大部分,分別是:node

  • 大數據技術基礎
  • 離線計算Hadoop
  • 流式計算Storm
  • 內存計算Spark
  • 機器學習算法

目前我學完了約60%的內容,但還有不少須要多實踐、和深研的地方,我也在繼續學習,和摸索當中。但願你早日能成爲大數據技術開發中的一員,而後你們一塊兒學習,和技術交流。python

技術說明

這裏我只列舉了技術點,給你提供了一個學習方向,具體實現內容能夠藉助網絡去學習了,相信這方面你應該懂得了如何藉助網絡力量,而後進行自我學習了。linux

大數據技術基礎

linux操做基礎

  • linux系統簡介與安裝
  • linux經常使用命令–文件操做
  • linux經常使用命令–用戶管理與權限
  • linux經常使用命令–系統管理
  • linux經常使用命令–免密登錄配置與網絡管理
  • linux上經常使用軟件安裝
  • linux本地yum源配置及yum軟件安裝
  • linux防火牆配置
  • linux高級文本處理命令cut、sed、awk
  • linux定時任務crontab

shell編程

  • shell編程–基本語法
  • shell編程–流程控制
  • shell編程–函數
  • shell編程–綜合案例–自動化部署腳本

內存數據庫redis

  • redis和nosql簡介
  • redis客戶端鏈接
  • redis的string類型數據結構操做及應用-對象緩存
  • redis的list類型數據結構操做及應用案例-任務調度隊列
  • redis的hash及set數據結構操做及應用案例-購物車
  • redis的sortedset數據結構操做及應用案例-排行榜

布式協調服務zookeeper

  • zookeeper簡介及應用場景
  • zookeeper集羣安裝部署
  • zookeeper的數據節點與命令行操做
  • zookeeper的java客戶端基本操做及事件監聽
  • zookeeper核心機制及數據節點
  • zookeeper應用案例–分佈式共享資源鎖
  • zookeeper應用案例–服務器上下線動態感知
  • zookeeper的數據一致性原理及leader選舉機制

java高級特性加強

  • Java多線程基本知識
  • Java同步關鍵詞詳解
  • java併發包線程池及在開源軟件中的應用
  • Java併發包消息隊裏及在開源軟件中的應用
  • Java JMS技術
  • Java動態代理反射

輕量級RPC框架開發

  • RPC原理學習
  • Nio原理學習
  • Netty經常使用API學習
  • 輕量級RPC框架需求分析及原理分析
  • 輕量級RPC框架開發

離線計算Hadoop

hadoop快速入門

  • hadoop背景介紹
  • 分佈式系統概述
  • 離線數據分析流程介紹
  • 集羣搭建
  • 集羣使用初步

HDFS加強

  • HDFS的概念和特性
  • HDFS的shell(命令行客戶端)操做
  • HDFS的工做機制
  • NAMENODE的工做機制
  • java的api操做
  • 案例1:開發shell採集腳本

MAPREDUCE詳解

  • 自定義hadoop的RPC框架
  • Mapreduce編程規範及示例編寫
  • Mapreduce程序運行模式及debug方法
  • mapreduce程序運行模式的內在機理
  • mapreduce運算框架的主體工做流程
  • 自定義對象的序列化方法
  • MapReduce編程案例

MAPREDUCE加強

  • Mapreduce排序
  • 自定義partitioner
  • Mapreduce的combiner
  • mapreduce工做機制詳解

MAPREDUCE實戰

  • maptask並行度機制-文件切片
  • maptask並行度設置
  • 倒排索引
  • 共同好友

federation介紹和hive使用

  • Hadoop的HA機制
  • HA集羣的安裝部署
  • 集羣運維測試之Datanode動態上下線
  • 集羣運維測試之Namenode狀態切換管理
  • 集羣運維測試之數據塊的balance
  • HA下HDFS-API變化
  • hive簡介
  • hive架構
  • hive安裝部署
  • hvie初使用

hive加強和flume介紹

  • HQL-DDL基本語法
  • HQL-DML基本語法
  • HIVE的join
  • HIVE 參數配置
  • HIVE 自定義函數和Transform
  • HIVE 執行HQL的實例分析
  • HIVE最佳實踐注意點
  • HIVE優化策略
  • HIVE實戰案例
  • Flume介紹
  • Flume的安裝部署
  • 案例:採集目錄到HDFS
  • 案例:採集文件到HDFS

流式計算Storm

Storm從入門到精通

  • Storm是什麼
  • Storm架構分析
  • Storm架構分析
  • Storm編程模型、Tuple源碼、併發度分析
  • Storm WordCount案例及經常使用Api分析
  • Storm集羣部署實戰
  • Storm+Kafka+Redis業務指標計算
  • Storm源碼下載編譯
  • Strom集羣啓動及源碼分析
  • Storm任務提交及源碼分析
  • Storm數據發送流程分析
  • Storm通訊機制分析
  • Storm消息容錯機制及源碼分析
  • Storm多stream項目分析
  • 編寫本身的流式任務執行框架

Storm上下游及架構集成

  • 消息隊列是什麼
  • Kakfa核心組件
  • Kafka集羣部署實戰及經常使用命令
  • Kafka配置文件梳理
  • Kakfa JavaApi學習
  • Kafka文件存儲機制分析
  • Redis基礎及單機環境部署
  • Redis數據結構及典型案例
  • Flume快速入門
  • Flume+Kafka+Storm+Redis整合

內存計算Spark

scala編程

  • scala編程介紹
  • scala相關軟件安裝
  • scala基礎語法
  • scala方法和函數
  • scala函數式編程特色
  • scala數組和集合
  • scala編程練習(單機版WordCount)
  • scala面向對象
  • scala模式匹配
  • actor編程介紹
  • option和偏函數
  • 實戰:actor的併發WordCount
  • 柯里化
  • 隱式轉換

AKKA與RPC

  • Akka併發編程框架
  • 實戰:RPC編程實戰

Spark快速入門

  • spark介紹
  • spark環境搭建
  • RDD簡介
  • RDD的轉換和動做
  • 實戰:RDD綜合練習
  • RDD高級算子
  • 自定義Partitioner
  • 實戰:網站訪問次數
  • 廣播變量
  • 實戰:根據IP計算歸屬地
  • 自定義排序
  • 利用JDBC RDD實現數據導入導出
  • WorldCount執行流程詳解

RDD詳解

  • RDD依賴關係
  • RDD緩存機制
  • RDD的Checkpoint檢查點機制
  • Spark任務執行過程分析
  • RDD的Stage劃分

Spark-Sql應用

  • Spark-SQL
  • Spark結合Hive
  • DataFrame
  • 實戰:Spark-SQL和DataFrame案例

SparkStreaming應用實戰

  • Spark-Streaming簡介
  • Spark-Streaming編程
  • 實戰:StageFulWordCount
  • Flume結合Spark Streaming
  • Kafka結合Spark Streaming
  • 窗口函數
  • ELK技術棧介紹
  • ElasticSearch安裝和使用
  • Storm架構分析
  • Storm編程模型、Tuple源碼、併發度分析
  • Storm WordCount案例及經常使用Api分析

Spark核心源碼解析

  • Spark源碼編譯
  • Spark遠程debug
  • Spark任務提交行流程源碼分析
  • Spark通訊流程源碼分析
  • SparkContext建立過程源碼分析
  • DriverActor和ClientActor通訊過程源碼分析
  • Worker啓動Executor過程源碼分析
  • Executor向DriverActor註冊過程源碼分析
  • Executor向Driver註冊過程源碼分析
  • DAGScheduler和TaskScheduler源碼分析
  • Shuffle過程源碼分析
  • Task執行過程源碼分析

機器學習算法

python及numpy庫

  • 機器學習簡介
  • 機器學習與python
  • python語言–快速入門
  • python語言–數據類型詳解
  • python語言–流程控制語句
  • python語言–函數使用
  • python語言–模塊和包
  • phthon語言–面向對象
  • python機器學習算法庫–numpy
  • 機器學習必備數學知識–機率論

經常使用算法實現

  • knn分類算法–算法原理
  • knn分類算法–代碼實現
  • knn分類算法–手寫字識別案例
  • lineage迴歸分類算法–算法原理
  • lineage迴歸分類算法–算法實現及demo
  • 樸素貝葉斯分類算法–算法原理
  • 樸素貝葉斯分類算法–算法實現
  • 樸素貝葉斯分類算法–垃圾郵件識別應用案例
  • kmeans聚類算法–算法原理
  • kmeans聚類算法–算法實現
  • kmeans聚類算法–地理位置聚類應用
  • 決策樹分類算法–算法原理
  • 決策樹分類算法–算法實現

尾記

看完有信心能堅持學習嗎?若是你的答案是確定的,那就當下開始行動吧!Fighting~
推薦兩個相關的學習博客地址:redis

來源地址: http://heminit.com/2017/06/23/my-post2/算法

相關文章
相關標籤/搜索