1. 程式人生 > >大資料學習路線圖

大資料學習路線圖

 

一、入門準備
1、linux操作基礎

1) Linux的介紹,Linux的安裝:VMware Workstation虛擬軟體安裝過程、CentOS虛擬機器安裝過程
2) Linux的常用命令:常用命令的介紹、常用命令的使用和練習(檔案操作、使用者管理與許可權、免密登陸配置與網路管理)
3) Linux系統程序管理基本原理及相關管理工具如ps、pkill、top、htop等的使用;
4) Linux啟動流程,執行級別詳解,chkconfig詳解
5) VI、VIM編輯器:VI、VIM編輯器的介紹、VI、VIM扥使用和常用快捷鍵
6) Linux磁碟管理,lvm邏輯卷,nfs詳解
7) Linux系統檔案許可權管理:檔案許可權介紹、檔案許可權的操作
8) Linux的RPM軟體包管理:RPM包的介紹、RPM安裝、解除安裝等操作
9) yum命令,yum源搭建
10) Linux網路:Linux網路的介紹、Linux網路的配置和維護 防火牆配置


11) Shell程式設計:Shell的介紹、Shell指令碼的編寫
12) Linux上常見軟體的安裝:安裝JDK、安裝Tomcat、安裝mysql,web專案部署

13)linux高階文字處理命令cut、sed、awklinux

14)定時任務crontab

2、大型網站高併發處理

1) 第四層負載均衡

    a) Lvs負載均衡         i. 負載演算法,NAT模式,直接路由模式(DR),隧道模式(TUN)
    b) F5負載均衡器介紹
2) 第七層負載均衡
    a) Nginx     b) Apache
3) Tomcat、jvm優化提高併發量
4) 快取優化
    a) Java快取框架       i. Oscache,ehcache
    b) 快取資料庫         i. Redis,Memcached
5) Lvs+nginx+tomcat+redis|memcache構建二層負載均衡千萬併發處理
6) Haproxy
7) Fastdfs小檔案獨立儲存管理
8) Redis快取系統    a) Redis基本使用     b) Redis sentinel高可用     c) Redis好友推薦演算法

3、Lucene基礎

1) Lucene介紹

2) Lucene 倒排索引原理

3) 建索引 IndexWriter

4) 搜尋 IndexSearcher

5) Query

6) Sort和 過濾 (filter)

7) 索引優化和高亮

4、solr基礎

1) 什麼是solr
2) 為什麼工程中要使用solr
3) Solr的原理
4) 如何在tomcat中執行solr
5) 如何利用solr進行索引與搜尋
6) solr的各種查詢
7) solr的Filter
8) solr的排序
9) solr的高亮
10) solr的某個域統計
11) solr的範圍統計
12) solrcloud叢集搭建

5、布式協調服務zookeeper

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

6、java高階特性增強

  • Java多執行緒基本知識
  • Java同步關鍵詞詳解
  • java併發包執行緒池及在開源軟體中的應用
  • Java併發包訊息隊裡及在開源軟體中的應用
  • Java JMS技術
  • Java動態代理反射

二、離線計算系統 
1、hadoop快速入門
hadoop背景介紹
分散式系統概述
離線資料分析流程介紹
叢集搭建
叢集使用初步

2、HDFS增強
HDFS的概念和特性
HDFS的shell(命令列客戶端)操作
HDFS的工作機制
NAMENODE的工作機制
java的api操作
案例1:開發shell採集指令碼

3、MAPREDUCE詳解
自定義hadoop的RPC框架
Mapreduce程式設計規範及示例編寫
Mapreduce程式執行模式及debug方法
mapreduce程式執行模式的內在機理
mapreduce運算框架的主體工作流程
自定義物件的序列化方法
MapReduce程式設計案例

4、MAPREDUCE增強
Mapreduce排序
自定義partitioner
Mapreduce的combiner
mapreduce工作機制詳解

5、MAPREDUCE實戰
maptask並行度機制-檔案切片
maptask並行度設定
倒排索引
共同好友

6、federation介紹和hive使用
Hadoop的HA機制
HA叢集的安裝部署
叢集運維測試之Datanode動態上下線
叢集運維測試之Namenode狀態切換管理
叢集運維測試之資料塊的balance
HA下HDFS-API變化
hive簡介
hive架構
hive安裝部署
hvie初使用

7、hive增強和flume介紹
HQL-DDL基本語法
HQL-DML基本語法
HIVE的join
HIVE 引數配置
HIVE 自定義函式和Transform
HIVE 執行HQL的例項分析
HIVE最佳實踐注意點
HIVE優化策略
HIVE實戰案例
Flume介紹
Flume的安裝部署
案例:採集目錄到HDFS
案例:採集檔案到HDFS

三、資料遷移工具Sqoop

1) 介紹 和 配置Sqoop
2) Sqoop shell使用
3) Sqoop-import    a) DBMS-hdfs     b) DBMS-hive     c) DBMS-hbase
4) Sqoop-export

四、Flume分散式日誌框架

1) flume簡介-基礎知識
2) flume安裝與測試
3) flume部署方式
4) flume source相關配置及測試
5) flume sink相關配置及測試
6) flume selector 相關配置與案例分析
7) flume Sink Processors相關配置和案例分析
8) flume Interceptors相關配置和案例分析
9) flume AVRO Client開發
10) flume 和kafka 的整合

五、記憶體資料庫redis

1) redis特點、與其他資料庫的比較
2) 如何安裝redis
3) 如何使用命令列客戶端
4) redis的字串型別
5) redis的雜湊型別
6) redis的列表型別
7) redis的集合型別
8) 如何使用java訪問redis【a.python訪問redis,scala訪問redis】
9) redis的事務(transaction)
10) redis的管道(pipeline)
11) redis持久化(AOF+RDB)
12) redis優化
13) redis的主從複製
14) redis的sentinel高可用
15) twemproxy,codis實戰
16) redis3.x叢集安裝配置

六、Storm上下游及架構整合

1) kafka是什麼
2) kafka體系結構
3) kafka配置詳解
4) kafka的安裝
5) kafka的儲存策略
6) kafka分割槽特點
7) kafka的釋出與訂閱
8) zookeeper協調管理
9) java程式設計操作kafka
10) scala程式設計操作kafka
11) flume 和kafka 的整合
12) Kafka 和storm 的整合

    七、Storm從入門到精通
1) Storm的基本概念
2) Storm的應用場景
3) Storm和Hadoop的對比 
4) Storm叢集的安裝的linux環境準備 
5) zookeeper叢集搭建 
6) Storm叢集搭建
7) Storm配置檔案配置項講解
8) 叢集搭建常見問題解決
9) Storm常用元件和程式設計API:Topology、 Spout、Bolt
10) Storm分組策略(stream groupings)
11) 使用Strom開發一個WordCount例子
12) Storm程式本地模式debug、Storm程式遠端debug
13) Storm事物處理
14) Storm訊息可靠性及容錯原理
15) Storm結合訊息佇列Kafka:訊息佇列基本概念(Producer、Consumer、Topic、Broker等)、訊息佇列Kafka使用場景、Storm結合Kafka程式設計API
16) Storm Trident概念
17) Trident state 原理
18) Trident開發例項
19) Storm DRPC(分散式遠端呼叫)介紹
20) Storm DRPC實戰講解
21) Storm和Hadoop 2.x的整合:Storm on Yarn

八、scala程式設計

1) scala直譯器、變數、常用資料型別等
2) scala的條件表示式、輸入輸出、迴圈等控制結構
3) scala的函式、預設引數、變長引數等
4) scala的陣列、變長陣列、多維陣列等
5) scala的對映、元組等操作
6) scala的類,包括bean屬性、輔助構造器、主構造器等
7) scala的物件、單例物件、伴生物件、擴充套件類、apply方法等
8) scala的包、引入、繼承等概念
9) scala的特質
10) scala的操作符
11) scala的高階函式
12) scala的集合
13) scala資料庫連線

九、記憶體計算體系Spark 

1) Spark介紹
2) Spark應用場景
3) Spark和Hadoop MR、Storm的比較和優勢
4) RDD
5) Transformation
6) Action
7) Spark計算PageRank
8) Lineage
9) Spark模型簡介
10) Spark快取策略和容錯處理
11) 寬依賴與窄依賴
12) Spark配置講解
13) Spark叢集搭建
14) 叢集搭建常見問題解決
15) Spark原理核心元件和常用RDD
16) 資料本地性
17) 任務排程
18) DAGScheduler
19) TaskScheduler
20) Spark原始碼解讀
21) 效能調優
22) Spark和Hadoop2.x整合:Spark on Yarn原理

十、SparkStreaming應用實戰
Spark-Streaming簡介
Spark-Streaming程式設計
實戰:StageFulWordCount
Flume結合Spark Streaming
Kafka結合Spark Streaming
視窗函式
ELK技術棧介紹
ElasticSearch安裝和使用
Storm架構分析
Storm程式設計模型、Tuple原始碼、併發度分析
Storm WordCount案例及常用Api分析

十一、機器學習演算法 
1、python及numpy庫
機器學習簡介
機器學習與python
python語言–快速入門
python語言–資料型別詳解
python語言–流程控制語句
python語言–函式使用
python語言–模組和包
phthon語言–面向物件
python機器學習演算法庫–numpy
機器學習必備數學知識–概率論

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

--------------------- 本文來自 steve濤 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qq_38872310/article/details/79758426?utm_source=copy