'一文讀懂大數據平臺;寫給大數據開發初學者的話,大數據學習過程'
本文旨在為普通程序員(有基礎最佳)提供一個入門級別的大數據技術學習路徑,不適用於大數據工程師的進階學習,也不適用於零編程基礎的同學。
前言:
- 一、背景介紹
- 二、大數據介紹
正文:
- 一、大數據相關的工作介紹
- 二、大數據工程師的技能要求
- 三、大數據學習規劃
- 四、持續學習資源推薦(書籍,博客,網站)
- 五、項目案例分析(批處理+實時處理)
本文旨在為普通程序員(有基礎最佳)提供一個入門級別的大數據技術學習路徑,不適用於大數據工程師的進階學習,也不適用於零編程基礎的同學。
前言:
- 一、背景介紹
- 二、大數據介紹
正文:
- 一、大數據相關的工作介紹
- 二、大數據工程師的技能要求
- 三、大數據學習規劃
- 四、持續學習資源推薦(書籍,博客,網站)
- 五、項目案例分析(批處理+實時處理)
前言
一、背景介紹
本人目前是一名大數據工程師,項目數據50T,日均數據增長20G左右,個人是從Java後端開發,經過3個月的業餘自學成功轉型大數據工程師。
二、大數據介紹
大數據本質也是數據,但是又有了新的特徵,包括數據來源廣、數據格式多樣化(結構化數據、非結構化數據、Excel文件、文本文件等)、數據量大(最少也是TB級別的、甚至可能是PB級別)、數據增長速度快等。
針對以上主要的4個特徵我們需要考慮以下問題:
1、數據來源廣,該如何採集彙總?,對應出現了Sqoop,Cammel,Datax等工具。
2、數據採集之後,該如何存儲?,對應出現了GFS,HDFS,TFS等分佈式文件存儲系統。
3、由於數據增長速度快,數據存儲就必須可以水平擴展。
4、數據存儲之後,該如何通過運算快速轉化成一致的格式,該如何快速運算出自己想要的結果?
對應的MapReduce這樣的分佈式運算框架解決了這個問題;但是寫MapReduce需要Java代碼量很大,所以出現了Hive,Pig等將SQL轉化成MapReduce的解析引擎;
普通的MapReduce處理數據只能一批一批地處理,時間延遲太長,為了實現每輸入一條數據就能得到結果,於是出現了Storm/JStorm這樣的低時延的流式計算框架;
但是如果同時需要批處理和流處理,按照如上就得搭兩個集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易於管理,所以出現了Spark這樣的一站式的計算框架,既可以進行批處理,又可以進行流處理(實質上是微批處理)。
5、而後Lambda架構,Kappa架構的出現,又提供了一種業務處理的通用架構。
為了提高工作效率,加快運速度,出現了一些輔助工具:
6、
- Ozzie,azkaban:定時任務調度的工具。
- Hue,Zepplin:圖形化任務執行管理,結果查看工具。
- Scala語言:編寫Spark程序的最佳語言,當然也可以選擇用Python。
- Python語言:編寫一些腳本時會用到。
- Allluxio,Kylin等:通過對存儲的數據進行預處理,加快運算速度的工具。
以上大致就把整個大數據生態裡面用到的工具所解決的問題列舉了一遍,知道了他們為什麼而出現或者說出現是為了解決什麼問題,進行學習的時候就有的放矢了。
本文旨在為普通程序員(有基礎最佳)提供一個入門級別的大數據技術學習路徑,不適用於大數據工程師的進階學習,也不適用於零編程基礎的同學。
前言:
- 一、背景介紹
- 二、大數據介紹
正文:
- 一、大數據相關的工作介紹
- 二、大數據工程師的技能要求
- 三、大數據學習規劃
- 四、持續學習資源推薦(書籍,博客,網站)
- 五、項目案例分析(批處理+實時處理)
前言
一、背景介紹
本人目前是一名大數據工程師,項目數據50T,日均數據增長20G左右,個人是從Java後端開發,經過3個月的業餘自學成功轉型大數據工程師。
二、大數據介紹
大數據本質也是數據,但是又有了新的特徵,包括數據來源廣、數據格式多樣化(結構化數據、非結構化數據、Excel文件、文本文件等)、數據量大(最少也是TB級別的、甚至可能是PB級別)、數據增長速度快等。
針對以上主要的4個特徵我們需要考慮以下問題:
1、數據來源廣,該如何採集彙總?,對應出現了Sqoop,Cammel,Datax等工具。
2、數據採集之後,該如何存儲?,對應出現了GFS,HDFS,TFS等分佈式文件存儲系統。
3、由於數據增長速度快,數據存儲就必須可以水平擴展。
4、數據存儲之後,該如何通過運算快速轉化成一致的格式,該如何快速運算出自己想要的結果?
對應的MapReduce這樣的分佈式運算框架解決了這個問題;但是寫MapReduce需要Java代碼量很大,所以出現了Hive,Pig等將SQL轉化成MapReduce的解析引擎;
普通的MapReduce處理數據只能一批一批地處理,時間延遲太長,為了實現每輸入一條數據就能得到結果,於是出現了Storm/JStorm這樣的低時延的流式計算框架;
但是如果同時需要批處理和流處理,按照如上就得搭兩個集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易於管理,所以出現了Spark這樣的一站式的計算框架,既可以進行批處理,又可以進行流處理(實質上是微批處理)。
5、而後Lambda架構,Kappa架構的出現,又提供了一種業務處理的通用架構。
為了提高工作效率,加快運速度,出現了一些輔助工具:
6、
- Ozzie,azkaban:定時任務調度的工具。
- Hue,Zepplin:圖形化任務執行管理,結果查看工具。
- Scala語言:編寫Spark程序的最佳語言,當然也可以選擇用Python。
- Python語言:編寫一些腳本時會用到。
- Allluxio,Kylin等:通過對存儲的數據進行預處理,加快運算速度的工具。
以上大致就把整個大數據生態裡面用到的工具所解決的問題列舉了一遍,知道了他們為什麼而出現或者說出現是為了解決什麼問題,進行學習的時候就有的放矢了。
正文
一、大數據相關工作介紹
大數據方向的工作目前主要分為三個主要方向:
- 大數據工程師
- 數據分析師
- 大數據科學家
- 其他(數據挖掘等)
二、大數據工程師的技能要求
附上大數據工程師技能圖:
本文旨在為普通程序員(有基礎最佳)提供一個入門級別的大數據技術學習路徑,不適用於大數據工程師的進階學習,也不適用於零編程基礎的同學。
前言:
- 一、背景介紹
- 二、大數據介紹
正文:
- 一、大數據相關的工作介紹
- 二、大數據工程師的技能要求
- 三、大數據學習規劃
- 四、持續學習資源推薦(書籍,博客,網站)
- 五、項目案例分析(批處理+實時處理)
前言
一、背景介紹
本人目前是一名大數據工程師,項目數據50T,日均數據增長20G左右,個人是從Java後端開發,經過3個月的業餘自學成功轉型大數據工程師。
二、大數據介紹
大數據本質也是數據,但是又有了新的特徵,包括數據來源廣、數據格式多樣化(結構化數據、非結構化數據、Excel文件、文本文件等)、數據量大(最少也是TB級別的、甚至可能是PB級別)、數據增長速度快等。
針對以上主要的4個特徵我們需要考慮以下問題:
1、數據來源廣,該如何採集彙總?,對應出現了Sqoop,Cammel,Datax等工具。
2、數據採集之後,該如何存儲?,對應出現了GFS,HDFS,TFS等分佈式文件存儲系統。
3、由於數據增長速度快,數據存儲就必須可以水平擴展。
4、數據存儲之後,該如何通過運算快速轉化成一致的格式,該如何快速運算出自己想要的結果?
對應的MapReduce這樣的分佈式運算框架解決了這個問題;但是寫MapReduce需要Java代碼量很大,所以出現了Hive,Pig等將SQL轉化成MapReduce的解析引擎;
普通的MapReduce處理數據只能一批一批地處理,時間延遲太長,為了實現每輸入一條數據就能得到結果,於是出現了Storm/JStorm這樣的低時延的流式計算框架;
但是如果同時需要批處理和流處理,按照如上就得搭兩個集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易於管理,所以出現了Spark這樣的一站式的計算框架,既可以進行批處理,又可以進行流處理(實質上是微批處理)。
5、而後Lambda架構,Kappa架構的出現,又提供了一種業務處理的通用架構。
為了提高工作效率,加快運速度,出現了一些輔助工具:
6、
- Ozzie,azkaban:定時任務調度的工具。
- Hue,Zepplin:圖形化任務執行管理,結果查看工具。
- Scala語言:編寫Spark程序的最佳語言,當然也可以選擇用Python。
- Python語言:編寫一些腳本時會用到。
- Allluxio,Kylin等:通過對存儲的數據進行預處理,加快運算速度的工具。
以上大致就把整個大數據生態裡面用到的工具所解決的問題列舉了一遍,知道了他們為什麼而出現或者說出現是為了解決什麼問題,進行學習的時候就有的放矢了。
正文
一、大數據相關工作介紹
大數據方向的工作目前主要分為三個主要方向:
- 大數據工程師
- 數據分析師
- 大數據科學家
- 其他(數據挖掘等)
二、大數據工程師的技能要求
附上大數據工程師技能圖:
必須掌握的技能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個小時的有效學習時間,加上週末每天保證10個小時的有效學習時間;
3個月會有(21*3+4*2*10)*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
1、
- HDFS的概念和特性。
- HDFS的shell操作。
- HDFS的工作機制。
- HDFS的Java應用開發。
MapReduce
2、
①運行WordCount示例程序。
②瞭解MapReduce內部的運行機制。
- MapReduce程序運行流程解析。
- MapTask併發數的決定機制。
- MapReduce中的combiner組件應用。
- MapReduce中的序列化框架及應用。
- MapReduce中的排序。
- MapReduce中的自定義分區實現。
- MapReduce的shuffle機制。
- MapReduce利用數據壓縮進行優化。
- MapReduce程序與YARN之間的關係。
- MapReduce參數優化。
3、
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小時
大數據學習資料之視頻教程:
。。。獲取方式:
轉發加關注,然後私信小編“學習”即可帶走哦!
本文旨在為普通程序員(有基礎最佳)提供一個入門級別的大數據技術學習路徑,不適用於大數據工程師的進階學習,也不適用於零編程基礎的同學。
前言:
- 一、背景介紹
- 二、大數據介紹
正文:
- 一、大數據相關的工作介紹
- 二、大數據工程師的技能要求
- 三、大數據學習規劃
- 四、持續學習資源推薦(書籍,博客,網站)
- 五、項目案例分析(批處理+實時處理)
前言
一、背景介紹
本人目前是一名大數據工程師,項目數據50T,日均數據增長20G左右,個人是從Java後端開發,經過3個月的業餘自學成功轉型大數據工程師。
二、大數據介紹
大數據本質也是數據,但是又有了新的特徵,包括數據來源廣、數據格式多樣化(結構化數據、非結構化數據、Excel文件、文本文件等)、數據量大(最少也是TB級別的、甚至可能是PB級別)、數據增長速度快等。
針對以上主要的4個特徵我們需要考慮以下問題:
1、數據來源廣,該如何採集彙總?,對應出現了Sqoop,Cammel,Datax等工具。
2、數據採集之後,該如何存儲?,對應出現了GFS,HDFS,TFS等分佈式文件存儲系統。
3、由於數據增長速度快,數據存儲就必須可以水平擴展。
4、數據存儲之後,該如何通過運算快速轉化成一致的格式,該如何快速運算出自己想要的結果?
對應的MapReduce這樣的分佈式運算框架解決了這個問題;但是寫MapReduce需要Java代碼量很大,所以出現了Hive,Pig等將SQL轉化成MapReduce的解析引擎;
普通的MapReduce處理數據只能一批一批地處理,時間延遲太長,為了實現每輸入一條數據就能得到結果,於是出現了Storm/JStorm這樣的低時延的流式計算框架;
但是如果同時需要批處理和流處理,按照如上就得搭兩個集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易於管理,所以出現了Spark這樣的一站式的計算框架,既可以進行批處理,又可以進行流處理(實質上是微批處理)。
5、而後Lambda架構,Kappa架構的出現,又提供了一種業務處理的通用架構。
為了提高工作效率,加快運速度,出現了一些輔助工具:
6、
- Ozzie,azkaban:定時任務調度的工具。
- Hue,Zepplin:圖形化任務執行管理,結果查看工具。
- Scala語言:編寫Spark程序的最佳語言,當然也可以選擇用Python。
- Python語言:編寫一些腳本時會用到。
- Allluxio,Kylin等:通過對存儲的數據進行預處理,加快運算速度的工具。
以上大致就把整個大數據生態裡面用到的工具所解決的問題列舉了一遍,知道了他們為什麼而出現或者說出現是為了解決什麼問題,進行學習的時候就有的放矢了。
正文
一、大數據相關工作介紹
大數據方向的工作目前主要分為三個主要方向:
- 大數據工程師
- 數據分析師
- 大數據科學家
- 其他(數據挖掘等)
二、大數據工程師的技能要求
附上大數據工程師技能圖:
必須掌握的技能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個小時的有效學習時間,加上週末每天保證10個小時的有效學習時間;
3個月會有(21*3+4*2*10)*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
1、
- HDFS的概念和特性。
- HDFS的shell操作。
- HDFS的工作機制。
- HDFS的Java應用開發。
MapReduce
2、
①運行WordCount示例程序。
②瞭解MapReduce內部的運行機制。
- MapReduce程序運行流程解析。
- MapTask併發數的決定機制。
- MapReduce中的combiner組件應用。
- MapReduce中的序列化框架及應用。
- MapReduce中的排序。
- MapReduce中的自定義分區實現。
- MapReduce的shuffle機制。
- MapReduce利用數據壓縮進行優化。
- MapReduce程序與YARN之間的關係。
- MapReduce參數優化。
3、
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小時
大數據學習資料之視頻教程:
。。。獲取方式:
轉發加關注,然後私信小編“學習”即可帶走哦!
學習不易,更何況是學習大數據技術,小編為你準備好了齊全的學習資料,快來領取哦,不要將時間浪費在路上,要知道,如果想要趕上參加大數據培訓班學習的同學的節奏,就必須付出更多的努力!