大資料技術學習路線,有信心能堅持學習的朋友,從現在開始學習吧
大資料技術前景我們是毋庸置疑的,而對於學習更是爭先恐後。在這些人中,不乏有已經在it圈混跡好幾年的程式設計師,自然也有初出茅廬的零基礎小白。說實話,大資料不比程式設計學習,還是需要一定的基礎的,那些說根本不需要基礎的人,你出來,保證不打死你。
在學習大資料技術之前,掌握程式設計是必須的,linux基礎也是很有必要的。主要分析如下:
大資料技術學習,需要的基礎之一:程式設計基礎
Java:學習Java的標準版JavaSE就可以了,像Servlet、JSP、Tomcat、Struct、Spring、Hibernate,Mybaits都是JavaEE方向的技術在大資料技術裡用到的並不多,只需要瞭解就可以了,當然Java怎麼連線資料庫還是要知道的,像JDBC一定要掌握一下,有同學說Hibernate或Mybaits也能連線資料庫啊,為什麼不學習一下,我這裡不是說學這些不好,而是說學這些可能會用你很多時間,到工作中也不常用,我還沒看到誰做大資料處理用到這兩個東西的,當然你的精力很充足的話,可以學學Hibernate或Mybaits的原理,不要只學API,這樣可以增加你對Java操作資料庫的理解,因為這兩個技術的核心就是Java的反射加上JDBC的各種使用。
很多初學者,對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習qq群:199427210,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大資料講師給大家免費授課,給大家分享目前國內最完整的大資料高階實戰實用學習流程體系
Python:雖然說學習大資料只需要精通一門程式語言就可以了,但很多時候其他程式語言也要了解一些。
Scala:上面說的java主要是針對Hadoop開發的,而這裡的Scala程式語言,主要是針對Spark生態體系的學習,兩個方向的側重語言不一樣,大家可以酌情選擇。
大資料技術學習,需要的基礎之二:linux體系
Linux:因為大資料相關軟體都是在Linux上執行的,所以Linux要學習的紮實一些,學好Linux對你快速掌握大資料相關技術會有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大資料軟體的執行環境和網路環境配置,能少踩很多坑,學會shell就能看懂指令碼這樣能更容易理解和配置大資料叢集。還能讓你對以後新出的大資料技術學習起來更快。
當然了,以上我說的這些基礎,有些在大資料課程中都有涉及,大家可以在學習大資料技術之前多預習一下,確保自己學習的大資料時可以沉穩應對,也減輕了自己學習的負擔!
如果你看完有信心能堅持學習的話,那就當下開始行動吧!
一、大資料技術基礎
1、linux操作基礎
- linux系統簡介與安裝
- linux常用命令–檔案操作
- linux常用命令–使用者管理與許可權
- linux常用命令–系統管理
- linux常用命令–免密登陸配置與網路管理
- linux上常用軟體安裝
- linux本地yum源配置及yum軟體安裝
- linux防火牆配置
- linux高階文字處理命令cut、sed、awk
- linux定時任務crontab
2、shell程式設計
- shell程式設計–基本語法
- shell程式設計–流程控制
- shell程式設計–函式
- shell程式設計–綜合案例–自動化部署指令碼
3、記憶體資料庫redis
- redis和nosql簡介
- redis客戶端連線
- redis的string型別資料結構操作及應用-物件快取
- redis的list型別資料結構操作及應用案例-任務排程佇列
- redis的hash及set資料結構操作及應用案例-購物車
- redis的sortedset資料結構操作及應用案例-排行榜
4、布式協調服務zookeeper
- zookeeper簡介及應用場景
- zookeeper叢集安裝部署
- zookeeper的資料節點與命令列操作
- zookeeper的java客戶端基本操作及事件監聽
- zookeeper核心機制及資料節點
- zookeeper應用案例–分散式共享資源鎖
- zookeeper應用案例–伺服器上下線動態感知
- zookeeper的資料一致性原理及leader選舉機制
5、java高階特性增強
- Java多執行緒基本知識
- Java同步關鍵詞詳解
- java併發包執行緒池及在開源軟體中的應用
- Java併發包訊息隊裡及在開源軟體中的應用
- Java JMS技術
- Java動態代理反射
6、輕量級RPC框架開發
- RPC原理學習
- Nio原理學習
- Netty常用API學習
- 輕量級RPC框架需求分析及原理分析
- 輕量級RPC框架開發
二、離線計算系統
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
三、流式計算
1、Storm從入門到精通
- Storm是什麼
- Storm架構分析
- Storm架構分析
- Storm程式設計模型、Tuple原始碼、併發度分析
- Storm WordCount案例及常用Api分析
- Storm叢集部署實戰
- Storm+Kafka+Redis業務指標計算
- Storm原始碼編譯
- Strom叢集啟動及原始碼分析
- Storm任務提交及原始碼分析
- Storm資料傳送流程分析
- Storm通訊機制分析
- Storm訊息容錯機制及原始碼分析
- Storm多stream專案分析
- 編寫自己的流式任務執行框架
2、Storm上下游及架構整合
- 訊息佇列是什麼
- Kakfa核心元件
- Kafka叢集部署實戰及常用命令
- Kafka配置檔案梳理
- Kakfa JavaApi學習
- Kafka檔案儲存機制分析
- Redis基礎及單機環境部署
- Redis資料結構及典型案例
- Flume快速入門
- Flume+Kafka+Storm+Redis整合
四、記憶體計算體系Spark
1、scala程式設計
- scala程式設計介紹
- scala相關軟體安裝
- scala基礎語法
- scala方法和函式
- scala函數語言程式設計特點
- scala陣列和集合
- scala程式設計練習(單機版WordCount)
- scala面向物件
- scala模式匹配
- actor程式設計介紹
- option和偏函式
- 實戰:actor的併發WordCount
- 柯里化
- 隱式轉換
2、AKKA與RPC
- Akka併發程式設計框架
- 實戰:RPC程式設計實戰
3、Spark快速入門
- spark介紹
- spark環境搭建
- RDD簡介
- RDD的轉換和動作
- 實戰:RDD綜合練習
- RDD高階運算元
- 自定義Partitioner
- 實戰:網站訪問次數
- 廣播變數
- 實戰:根據IP計算歸屬地
- 自定義排序
- 利用JDBC RDD實現資料匯入匯出
- WorldCount執行流程詳解
4、RDD詳解
- RDD依賴關係
- RDD快取機制
- RDD的Checkpoint檢查點機制
- Spark任務執行過程分析
- RDD的Stage劃分
5、Spark-Sql應用
- Spark-SQL
- Spark結合Hive
- DataFrame
- 實戰:Spark-SQL和DataFrame案例
6、SparkStreaming應用實戰
- Spark-Streaming簡介
- Spark-Streaming程式設計
- 實戰:StageFulWordCount
- Flume結合Spark Streaming
- Kafka結合Spark Streaming
- 視窗函式
- ELK技術棧介紹
- ElasticSearch安裝和使用
- Storm架構分析
- Storm程式設計模型、Tuple原始碼、併發度分析
- Storm WordCount案例及常用Api分析
7、Spark核心原始碼解析
- Spark原始碼編譯
- Spark遠端debug
- Spark任務提交行流程原始碼分析
- Spark通訊流程原始碼分析
- SparkContext建立過程原始碼分析
- DriverActor和ClientActor通訊過程原始碼分析
- Worker啟動Executor過程原始碼分析
- Executor向DriverActor註冊過程原始碼分析
- Executor向Driver註冊過程原始碼分析
- DAGScheduler和TaskScheduler原始碼分析
- Shuffle過程原始碼分析
- Task執行過程原始碼分析
五、機器學習演算法
1、python及numpy庫
- 機器學習簡介
- 機器學習與python
- python語言–快速入門
- python語言–資料型別詳解
- python語言–流程控制語句
- python語言–函式使用
- python語言–模組和包
- phthon語言–面向物件
- python機器學習演算法庫–numpy
- 機器學習必備數學知識–概率論
2、常用演算法實現
- knn分類演算法–演算法原理
- knn分類演算法–程式碼實現
- knn分類演算法–手寫字識別案例
- lineage迴歸分類演算法–演算法原理
- lineage迴歸分類演算法–演算法實現及demo
- 樸素貝葉斯分類演算法–演算法原理
- 樸素貝葉斯分類演算法–演算法實現
- 樸素貝葉斯分類演算法–垃圾郵件識別應用案例
- kmeans聚類演算法–演算法原理
- kmeans聚類演算法–演算法實現
- kmeans聚類演算法–地理位置聚類應用
- 決策樹分類演算法–演算法原理
- 決策樹分類演算法–演算法實現
在不久的將來,大資料一定會徹底走入我們的生活,有興趣入行未來前沿產業的朋友加入一起學習及時獲取人工智慧、大資料、雲端計算和物聯網的入門知識和資訊資訊,讓我們一起攜手,引領人工智慧的未來