1、大數據相關的工做介紹
2、大數據工程師的技能要求
3、大數據學習規劃算法
大數據介紹sql
大數據本質也是數據,可是又有了新的特徵,包括數據來源廣、數據格式多樣化(結構化數據、非結構化數據、Excel文件、文本文件等)、數據量大(最少也是TB級別的、甚至多是PB級別)、數據增加速度快等。
在這裏仍是要推薦下我本身建的大數據學習交流羣:529867072,羣裏都是學大數據開發的,若是你正在學習大數據 ,小編歡迎你加入,你們都是軟件開發黨,不按期分享乾貨(只有大數據軟件開發相關的),包括我本身整理的一份最新的大數據進階資料和高級開發教程,歡迎進階中和進想深刻大數據的小夥伴加入。shell
針對以上主要的4個特徵咱們須要考慮如下問題:數據庫
數據來源廣,該如何採集彙總?,對應出現了Sqoop,Cammel,Datax等工具。編程
數據採集以後,該如何存儲?,對應出現了GFS,HDFS,TFS等分佈式文件存儲系統。數組
因爲數據增加速度快,數據存儲就必須能夠水平擴展。緩存
數據存儲以後,該如何經過運算快速轉化成一致的格式,該如何快速運算出本身想要的結果?網絡
對應的MapReduce這樣的分佈式運算框架解決了這個問題;可是寫MapReduce須要Java代碼量很大,因此出現了Hive,Pig等將SQL轉化成MapReduce的解析引擎;數據結構
普通的MapReduce處理數據只能一批一批地處理,時間延遲太長,爲了實現每輸入一條數據就能獲得結果,因而出現了Storm/JStorm這樣的低時延的流式計算框架;多線程
可是若是同時須要批處理和流處理,按照如上就得搭兩個集羣,Hadoop集羣(包括HDFS+MapReduce+Yarn)和Storm集羣,不易於管理,因此出現了Spark這樣的一站式的計算框架,既能夠進行批處理,又能夠進行流處理(實質上是微批處理)。
然後Lambda架構,Kappa架構的出現,又提供了一種業務處理的通用架構。
爲了提升工做效率,加快運速度,出現了一些輔助工具:
Ozzie,azkaban:定時任務調度的工具。
Hue,Zepplin:圖形化任務執行管理,結果查看工具。
Scala語言:編寫Spark程序的最佳語言,固然也能夠選擇用Python。
Python語言:編寫一些腳本時會用到。
Allluxio,Kylin等:經過對存儲的數據進行預處理,加快運算速度的工具。
以上大體就把整個大數據生態裏面用到的工具所解決的問題列舉了一遍,知道了他們爲何而出現或者說出現是爲了解決什麼問題,進行學習的時候就有的放矢了。
正文
1、大數據相關工做介紹
大數據方向的工做目前主要分爲三個主要方向:
大數據工程師
數據分析師
大數據科學家
其餘(數據挖掘等)
2、大數據工程師的技能要求
附上大數據工程師技能圖:
必須掌握的技能11條
Java高級(虛擬機、併發)
Linux 基本操做
Hadoop(HDFS+MapReduce+Yarn )
HBase(JavaAPI操做+Phoenix )
Hive(Hql基本操做和原理理解)
Kafka
Storm/JStorm
Scala
Python
Spark (Core+sparksql+Spark streaming )
輔助小工具(Sqoop/Flume/Oozie/Hue等)
高階技能6條
機器學習算法以及mahout庫加MLlib
R語言
Lambda 架構
Kappa架構
Kylin
Alluxio
3、學習路徑
假設天天能夠抽出3個小時的有效學習時間,加上週末天天保證10個小時的有效學習時間;
3個月會有(213+4210)3=423小時的學習時間。
第一階段(基礎階段)
1)Linux學習(跟鳥哥學就ok了)—–20小時
Linux操做系統介紹與安裝。
Linux經常使用命令。
Linux經常使用軟件安裝。
Linux網絡。
防火牆。
Shell編程等。
2)Java 高級學習(《深刻理解Java虛擬機》、《Java高併發實戰》)—30小時
掌握多線程。
掌握併發包下的隊列。
瞭解JMS。
掌握JVM技術。
掌握反射和動態代理。
3)Zookeeper學習
Zookeeper分佈式協調服務介紹。
Zookeeper集羣的安裝部署。
Zookeeper數據結構、命令。
Zookeeper的原理以及選舉機制。
第二階段(攻堅階段)
4)Hadoop (《Hadoop 權威指南》)—80小時
HDFS
HDFS的概念和特性。
HDFS的shell操做。
HDFS的工做機制。
HDFS的Java應用開發。
MapReduce
運行WordCount示例程序。
瞭解MapReduce內部的運行機制。
MapReduce程序運行流程解析。
MapTask併發數的決定機制。
MapReduce中的combiner組件應用。
MapReduce中的序列化框架及應用。
MapReduce中的排序。
MapReduce中的自定義分區實現。
MapReduce的shuffle機制。
MapReduce利用數據壓縮進行優化。
MapReduce程序與YARN之間的關係。
MapReduce參數優化。
MapReduce的Java應用開發
5)Hive(《Hive開發指南》)–20小時
Hive 基本概念
Hive 應用場景。
Hive 與hadoop的關係。
Hive 與傳統數據庫對比。
Hive 的數據存儲機制。
Hive 基本操做
Hive 中的DDL操做。
在Hive 中如何實現高效的JOIN查詢。
Hive 的內置函數應用。
Hive shell的高級使用方式。
Hive 經常使用參數配置。
Hive 自定義函數和Transform的使用技巧。
Hive UDF/UDAF開發實例。
Hive 執行過程分析及優化策略
6)HBase(《HBase權威指南》)—20小時
hbase簡介。
habse安裝。
hbase數據模型。
hbase命令。
hbase開發。
hbase原理。
7)Scala(《快學Scala》)–20小時
Scala概述。
Scala編譯器安裝。
Scala基礎。
數組、映射、元組、集合。
類、對象、繼承、特質。
模式匹配和樣例類。
瞭解Scala Actor併發編程。
理解Akka。
理解Scala高階函數。
理解Scala隱式轉換。
8)Spark (《Spark 權威指南》)—60小時
enter image description here
Spark core
Spark概述。
Spark集羣安裝。
執行第一個Spark案例程序(求PI)。
RDD
enter image description here
RDD概述。
建立RDD。
RDD編程API(Transformation 和 Action Operations)。
RDD的依賴關係
RDD的緩存
DAG(有向無環圖)
Spark SQL and DataFrame/DataSet
enter image description here
Spark SQL概述。
DataFrames。
DataFrame經常使用操做。
編寫Spark SQL查詢程序。
Spark Streaming
enter image description here
enter image description here
park Streaming概述。
理解DStream。
DStream相關操做(Transformations 和 Output Operations)。
Structured Streaming
其餘(MLlib and GraphX )
這個部分通常工做中若是不是數據挖掘,機器學習通常用不到,能夠等到須要用到的時候再深刻學習。
9)Python
10)本身用虛擬機搭建一個集羣,把全部工具都裝上,本身開發一個小demo —30小時
能夠本身用VMware搭建4臺虛擬機,而後安裝以上軟件,搭建一個小集羣(本人親測,I7,64位,16G內存,徹底能夠運行起來)
大數據的將來前景可期,入行的人也很是的多,而如何快速的完成轉型,如何快速的進入大數據領域,就須要轉型者、小白去進行深入的思考。
對於小白學習大數據須要注意的點有不少,但不管如何,既然你選擇了進入大數據行業,那麼便只顧風雨兼程。正所謂不忘初心、方得始終,學習大數據你最須要的仍是一顆鍥而不捨的心。