大數據技術前景我們是毋庸置疑的,而對於學習更是爭先恐後。在這些人中,不乏有已經在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聚類算法–地理位置聚類應用
- 決策樹分類算法–算法原理
- 決策樹分類算法–算法實現
在不久的將來,大數據一定會徹底走入我們的生活,有興趣入行未來前沿產業的朋友加入一起學習及時獲取人工智能、大數據、雲計算和物聯網的入門知識和資訊信息,讓我們一起攜手,引領人工智能的未來