2019最新大資料學習路線圖

金羅老師發表於2019-01-02

 



一、入門準備

1、linux操作基礎


在這裡還是要推薦下我自己建的 大資料學習交流群:199427210 ,群裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料軟體開發相關的),包括我自己整理的一份最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴加入。


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聚類演算法–地理位置聚類應用

決策樹分類演算法–演算法原理

決策樹分類演算法–演算法實現




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561003/viewspace-2287206/,如需轉載,請註明出處,否則將追究法律責任。

相關文章