大數據學習線路整理

接觸大戶數據好多年了,一直沒有系統學習過,今天找了個目錄以下:

 

第一階段:Linux課程

講解linux基礎操做,講的是在命令行下進行文件系統的操做,這是hadoop學習的基礎,後面的全部視頻都是基於linux操做的。鑑於不少學員沒有linux基礎,特增長該內容,保證零linux基礎入門。java

若是你從沒有使用過linux,別擔憂,本節內容可讓你入門。node

 

Linux
  • 認識linux
  • 如何使用vmware安裝linux鏡像
  • 認識linux的桌面環境、shell環境
  • 在shell環境下進行文件系統的操做,掌握more、touch、cp、mv、rm等20多個經常使用命令
  • 學習linux的網絡管理,掌握ip、hostname等設置
  • 學習vmware與linux的通訊設置,掌握如何實現host-only、bridge、nat等網絡鏈接方式
  • 學習linux的進程管理,掌握如何查看、刪除進程
  • 學習linux的軟件管理,掌握java、mysql等安裝
  • 學習環境變量配置,掌握如何設置環境變量
  • 學習linux的ssh管理,掌握如何實現免密碼登陸
  • 學習linux的防火牆管理,掌握如何關閉防火牆及開放指定端口
  • 學習linux的調度管理,掌握crontab的使用

第二階段:hadoop2課程

 

搭建僞分佈實驗環境: 本節是最基本的課程,屬於入門級別,主要講述在linux單機上面安裝hadoop的僞分佈模式,在linux集羣上面安裝hadoop集羣。對於不熟悉linux的同窗,課程中會簡單的講解經常使用的linux命令。這兩種是必需要掌握的。經過如今的教學發現,不少同窗並不能正確的配置環境。python

搭建僞分佈實驗環境
  • Hadoop概念、版本、歷史
  • Hadoop和核心組成介紹及hdfs、mapreduce體系結構
  • Hadoop的集羣結構
  • Hadoop僞分佈的詳細安裝步驟
  • 如何經過命令行和瀏覽器觀察hadoop

介紹HDFS體系結構及shell、java操做方式: 本節是對hadoop核心之一——hdfs的講解。hdfs是全部hadoop操做的基礎,屬於基本的內容。對本節內容的理解直接影響之後全部課程的學習。在本節學習中,咱們會講述hdfs的體系結構,以及使用shell、java不一樣方式對hdfs的操做。在工做中,這兩種方式都很是經常使用。學會了本節內容,就能夠本身開發網盤應用了。在本節學習中,咱們不只對理論和操做進行講解,也會講解hdfs的源代碼,方便部分學員之後對hadoop源碼進行修改。最後,還要講解hadoop的RPC機制,這是hadoop運行的基礎,經過該節學習,咱們就能夠明白hadoop是怎麼明白的了,沒必要糊塗了,本節內容特別重要。mysql

介紹HDFS體系結構及
shell、java操做方式
  • Hdfs體系結構詳述
  • NameNode、DataNode、SecondaryNameNode體系結構
  • 若是保證namenode的高可靠
  • Datanode中block的劃分原理和存儲方式
  • 如何修改namenode、datanode數據存儲位置
  • 如何使用命令行操縱hdfs
  • 如何使用java操做hdfs
  • 介紹rpc機制
  • 經過查看源碼,知曉hadoop是建構在rpc之上的
  • 經過查看hdfs源碼,知曉客戶端是如何與Namenode經過rpc通訊的

介紹MapReduce體系結構及各類算法(1): 本節開始對hadoop核心之一——mapreduce的講解。mapreduce是hadoop的核心,是之後各類框架運行的基礎,這是必須掌握的。在本次講解中,掌握mapreduce執行的詳細過程,以單詞計數爲例,講解mapreduce的詳細執行過程。還講解hadoop的序列化機制和數據類型,並使用自定義類型實現電信日誌信息的統計。linux

介紹MapReduce體
繫結構及各類算法(1)
  • Mapreduce原理
  • Mapreduce執行的八大步驟
  • 詳細講述如何使用mapreduce實現單詞計數功能
  • 詳細講述如何覆蓋Mapper功能、如何覆蓋Reducer功能。在各類hadoop認證中,這是考察重點
  • 詳細講述hadoop的自定義類型Writable接口
  • 經過電信上網日誌實例講述如何自定義hadoop類型
  • 實例講述hadoop1的各類輸入來源處理器,包括數據庫輸入、xml文件、多文件輸入等,而且講解如何自定
    義輸入來源處理器
  • 實例講述hadoop1的各類輸出來源,包括數據庫輸出、文件輸出等,而且講解如何自定義輸出來源處理器,
    實現自定義輸出文件名稱
  • 經過源碼講述hadoop是如何讀取hdfs文件,而且轉化爲鍵值對,供map方法調用的

介紹MapReduce體系結構及各類算法(2): 本節繼續講解mapreduce,會把舊api的用法、計數器、combiner、partitioner、排序算法、分組算法等所有講解完畢。經過這兩次課程學習,學員能夠把整個mapreduce的執行細節搞清楚,把各個可擴展點都搞明白。本節內容在目前市面可見的圖書、視頻中尚未發現如此全面的哪。程序員

介紹MapReduce體
繫結構及各類算法(2)
  • 講解新舊api的區別,如何使用舊api完成操做
  • 介紹如何打包成jar,在命令行運行hadoop程序
  • 介紹hadoop的內置計數器,以及自定義計數器
  • 介紹合併(combiner)概念、爲何使用、如何使用、使用時有什麼限制條件
  • 介紹了hadoop內置的分區(partitioner)概念、爲何使用、如何使用
  • 介紹了hadoop內置的排序算法,以及如何自定義排序規則
  • 介紹了hadoop內置的分組算法,以及如何自定義分組規則
  • 介紹了mapreduce的常見應用場景,以及如何實現mapreduce算法講解
  • 如何優化mapreduce算法,實現更高的運行效率

第三階段:zookeeper課程

本節內容與hadoop關係不大,只是在hbase集羣安裝時纔用到。可是,zookeeper在分佈式項目中應用較多。web

zookeeper
  • Zookeeper是什麼
  • 搭建zookeeper集羣環境
  • 如何使用命令行操做zookeeper
  • 如何使用java操做zookeeper

第四階段:HBase課程

hbase是個好東西,在之後工做中會常常遇到,特別是電信、銀行、保險等行業。本節講解hbase的僞分佈和集羣的安裝,講解基本理論和各類操做。咱們經過對hbase原理的講解,讓你們明白爲何hbase會這麼適合大數據的實時查詢。最後講解hbase如何設計表結構,這是hbase優化的重點。面試

HBase
  • hbase的概述
  • hbase的數據模型
  • hbase的表設計
  • hbase的僞分佈式和集羣安裝
  • hbase的shell操做
  • hbase的JavaAPI操做
  • hbase的數據遷移
  • hbase的數據備份及恢復
  • Hbase結合Hive使用
  • hbase的集羣管理
  • hbase的性能調優

第五階段:CM+CDH集羣管理課程

由cloudera公司開發的集羣web管理工具cloudera manager(簡稱CM)和CDH目前在企業中使用的比重很大,掌握CM+CDH集羣管理和使用 不只簡化了集羣安裝、配置、調優等工做,並且對任務監控、集羣預警、快速定位問題都有很大的幫助。redis

CM+CDH集羣管理
  • CM + CDH集羣的安裝
  • 基於CM主機及各類服務組件的管理
  • CDH集羣的配置和參數調優
  • CDH集羣HA配置及集羣升級
  • CM的監控管理
  • 集羣管理的注意事項

第六階段:Hive課程

在《hadoop1零基礎拿高薪》課程中咱們涉及了Hive框架內容,不過內容偏少,做爲入門講解能夠,可是在工做中還會遇到不少課程中沒有的。本課程的目的就是把Hive框架的邊邊角角都涉獵到,重點講解Hive的數據庫管理、數據表管理、錶鏈接、查詢優化、如何設計Hive表結構。這都是工做中最急需的內容,是工做中的重點。算法

Hive的概述、安裝
與基本操做
  • 你們習慣把Hive稱爲hadoop領域的數據倉庫。Hive使用起來很是像MySQL,可是比使用MySQL更有意思。
    咱們在這裏要講述Hive的體系結構、如何安裝Hive。還會講述Hive的基本操做,目的是爲了下面的繼續學習。
  • (理論所佔比重★★★ 實戰所佔比重★★)
Hive支持的數據類型
  • Hive的支持的數據類型逐漸增多。其中複合數據類型,能夠把關係數據庫中的一對多關係挪到Hive的一張表中,
    這是一個很神奇的事情,顛覆了咱們以前的數據庫設計範式。咱們會講解如何使用這種數據類型,如何把關係數
    據庫的表遷移到Hive表。
  • (理論所佔比重★★ 實戰所佔比重★★★)
Hive數據的管理
  • 咱們總拿Hive與MySQL作類比。其中,Hive對數據的操做方法是與MySQL最大的不一樣。咱們會學習如何導入數
    據、導出數據,會學習如何分區導入、如何增量導入,會學習導入過程當中如何優化操做等內容。這部份內容是工
    做中使用頻率最高的內容之一。
  • (理論所佔比重★ 實戰所佔比重★★★★)
Hive的查詢
  • 這部份內容講解Hive查詢語句的基本結構,重點講解錶鏈接。其中,有一些咱們原來不知道的語法如left semi-
    join、sort by、cluster by等。這部分也在工做中用的是最多的內容之一。
  • (理論所佔比重★★ 實戰所佔比重★★★)
Hive的函數
  • Hive是對查詢語法的擴充,Hive運行咱們很是方便的使用java來編寫函數,特別方便。咱們除了簡單介紹常見的
    單行函數、聚合函數、表函數以外,還會介紹如何自定義函數。這樣,咱們就能夠擴充原有函數庫,實現本身的
    業務邏輯。這是體系咱們能力的好地方!
  • (理論所佔比重★★★ 實戰所佔比重★★)
Hive的文件格式
  • Hive的存儲除了普通文件格式,也包括序列化文件格式和列式存儲格式。講解分別如何使用他們,已經何種場景
    下使用他們。最後講解如何自定義數據存儲格式。
  • (理論所佔比重★★★ 實戰所佔比重★★)
Hive的性能調優
  • 終於來到性能調優部分。咱們會講解本地模式、嚴格模式、並行執行、join優化等內容。經過實驗對比發現優化
    手段的價值所在。這是整個課程的精華,也是咱們之後工做能力的最重要的體現。
  • (理論所佔比重★ 實戰所佔比重★★★★)
項目實戰
  • 咱們會經過一個電信項目來把前面的內容綜合運用起來。這是一個來自於真實工做環境的項目,學習如何使用各
    個知識點知足項目要求。並有真實數據提供給你們,供你們課下本身練習。
  • (理論所佔比重★ 實戰所佔比重★★★★)
雜記
  • 包括一些瑣碎知識點,好比視圖、索引、與HBase整合等。這些很差納入前面的某個章節,單獨列出。而且根據
    學員就業面試狀況,也不會不斷增補內容。
  • (理論所佔比重★★★ 實戰所佔比重★★)

第七階段:Sqoop課程

sqoop適用於在關係數據庫與hdfs之間進行雙向數據轉換的,在企業中,很是經常使用。

Sqoop
  • Sqoop是什麼
  • 實戰:講解Sqoop如何把mysql中的數據導入到hdfs中
  • 實戰:講解Sqoop如何把hdfs中的數據導出到mysql中
  • Sqoop如何作成job,方便之後快速執行

第八階段:Flume課程

Flume是cloudera公佈的分佈式日誌收集系統,是用來把各個的服務器中數據收集,統一提交到hdfs或者其餘目的地,是hadoop存儲數據的來源,企業中很是流行。

Flume
  • Flume是什麼
  • 詳細Flume的體系結構
  • 講述如何書寫flume的agent配置信息
  • 實戰:flume如何動態監控文件夾中文件變化
  • 實戰:flume如何把數據導入到hdfs中
  • 實戰:講解如何經過flume動態監控日誌文件變化,而後導入到hdfs中

第九階段:Kafka課程

Kafka是消息系統,相似於ActiveMQ、RabbitMQ,可是效率更高。

Kafka
  • kafka是什麼
  • kafka體系結構
  • kafka的安裝
  • kafka的存儲策略
  • kafka的發佈與訂閱
  • 使用Zookeeper協調管理
  • 實戰:Kafka和Storm的綜合應用

第十階段:Storm課程

Storm是專門用於解決實時計算的,與hadoop框架搭配使用。本課程講解Storm的基礎結構、理論體系,如何部署Storm集羣,如何進行本地開發和分佈式開發。經過本課程,你們能夠進入到Storm殿堂,看各類Storm技術文章再也不難,進行Storm開發也再也不畏懼。

Storm
  • Storm是什麼,包括基本概念和應用領域
  • Storm的體系結構、工做原理
  • Storm的單機環境配置、集羣環境配置
  • Storm核心組件,包括Spout、Bolt、Stream Groupings等等
  • Storm如何實現消息處理的安全性,保證消息處理無遺漏
  • Storm的批處理事務處理
  • 實戰:使用Storm完成單詞計數等操做
  • 實戰:計算網站的pv、uv等操做

第十一階段:Redis課程

redis是一款高性能的基於內存的鍵值數據庫,在互聯網公司中應用很普遍。

Redis
  • redis特色、與其餘數據庫的比較
  • 如何安裝redis
  • 如何使用命令行客戶端
  • redis的字符串類型
  • redis的散列類型
  • redis的列表類型
  • redis的集合類型
  • 如何使用java訪問redis
  • redis的事務(transaction)
  • redis的管道(pipeline)
  • redis持久化(AOF+RDB)
  • redis優化
  • redis的主從複製
  • redis的sentinel高可用
  • redis3.x集羣安裝配置

第十二階段:Scala課程

Scala是學習spark的必備基礎語言,必需要掌握的。

Scala
  • scala解釋器、變量、經常使用數據類型等
  • scala的條件表達式、輸入輸出、循環等控制結構
  • scala的函數、默認參數、變長參數等
  • scala的數組、變長數組、多維數組等
  • scala的映射、元祖等操做
  • scala的類,包括bean屬性、輔助構造器、主構造器等
  • scala的對象、單例對象、伴生對象、擴展類、apply方法等
  • scala的包、引入、繼承等概念
  • scala的特質
  • scala的操做符
  • scala的高階函數(這是重點,spark的原代碼幾乎全是高階函數)
  • scala的集合

第十三階段:Spark課程

Spark是一款高性能的分佈式計算框架,傳言比MapReduce計算快100倍,本課程爲你揭祕。

Spark
  • Spark入門
  • Spark與Hadoop的比較
  • Spark環境搭建
  • 實戰:使用Spark完成單詞計數
  • Spark緩存策略
  • Spark的transformation和action
  • Spark的容錯機制
  • Spark的核心組件
  • Spark的各類RDD
  • Spark的流計算

第十四階段:Oozie課程

oozie是Hadoop生態系統中比較重要的框架,在系統中扮演的角色是工做流引擎服務器,用於運行Hadoop Map/Reduce任務工做流(包括MR、Hive、Pig、Sqoop等),企業中多因爲整個項目流程任務調度。

Oozie
  • Oozie入門介紹
  • Oozie安裝配置及其簡單操做
  • hPDL語言學習及流程定義
  • oozie工做流配置及元數據庫定義
  • oozie定時任務調度和oozie API操做

第十五階段:Impala課程

Impala是Cloudera公司參照 Google Dreme系統進行設計並主導開發的新型查詢系統,它提供複雜SQL語義,能查詢存儲在Hadoop的HDFS和HBase中的PB級大數據。

Impala
  • Impala及其架構介紹
  • Impala使用方法
  • Impala配置及其調優
  • Impala項目應用
  • Impala和spark SQL對比

第十六階段:Kettle課程

Kettle是一款國外開源的ETL工具,純java編寫,能夠在Window、Linux、Unix上運行,數據抽取高效穩定。ETL是指數據的抽取(extract)、轉換(transform)、加載(load)至目的端。

Kettle
  • kettle簡介
  • windows開發環境的搭建和使用
  • linux下服務器的搭建和使用
  • 資源庫、變量、共享庫的配置
  • kettle經常使用組件
  • kettle的應用案例

第十七階段:Ganglia課程

Ganglia是一個對於數以萬計的節點的各個指標的圖表監控框架,提供完整的一套圖形監控界面,支持C、C++、python擴展自定義指標和用戶視圖。

Ganglia
  • ganglia的基本原
  • 搭建和使用ganglia監控服務器的指標
  • 配置和使用ganglia監控大數據hadoop和habase集羣、flume監控
  • 編寫和使用自定義指標

第十八階段:Tachyon課程

Tachyon是一個開源分佈式內存存儲系統,擁有高性能、高容錯等優勢。並具備類Java的文件API、插件式的底層文件系統、兼容Hadoop MapReduce和 Apache Spark 等特徵。Tachyon可以爲集羣框架(如Spark、MapReduce等)提供內存級速度的跨集羣文件共享服務,官方號稱最高比HDFS吞吐量高300倍。

Tachyon
  • Tachyon簡介
  • Tachyon架構詳解
  • Tachyon安裝
  • Tachyon參數配置
  • Tachyon結合Hadoop使用
  • Tachyon結合Spark使用

第十九階段:Solr課程

Solr
  • Solr簡介
  • Solr安裝部署
  • Solr example詳解
  • solr配置信息詳解
  • solr fact查詢
  • solr複雜查詢
  • 自定義中文分詞工具和詞庫
  • 使用solrj實現java操做solr
  • solr高亮組件
  • solr優化
  • solr主從結構部署
  • solrcloud集羣安裝部署
  • solr實現應用

第二十階段:elasticsearch課程

elasticsearch
  • elasticsearch簡介
  • elasticsearch和solr的對比
  • elasticsearch安裝部署
  • elasticsearch service wrapper啓動插件
  • 使用curl操做elasticsearch索引庫
  • elasticsearch DSL查詢
  • elasticsearch批量查詢meet
  • elasticsearch批量操做bulk
  • elasticsearch插件介紹
  • elasticsearch配置文件詳解
  • java操做elasticsearch
  • elasticsearch的分頁查詢
  • elasticsearch中文分詞工具的集成
  • elasticsearch優化
  • elasticsearch集羣部署

第二十一階段:多線程課程

多線程
  • 線程管理
  • 線程的同步,包括使用synchronized、lock、定時器、信號量等
  • 線程池的建立和管理
  • 併發集合的使用

第二十二階段:Java虛擬機優化課程

Java虛擬機優化
  • 認識jvm
  • java 內存區域與內存的分配
  • 垃圾收集器與回收機制
  • 虛擬機性能監控與故障處理經常使用工具
  • 線程安全與鎖優化
  • 大數據中的jvm 優化

第二十三階段:Python課程

Python
  • Python 簡介
  • Python 基本語法
  • 使用 Python 寫 MapReduce 程序、Spark 程序

第二十四階段:Mahout課程

Mahout是數據挖掘和機器學習領域的利器,本課程是帶領你們進入到這個領域中。課程內容包括Mahout體系結構介紹、Mahout如何在推薦、分類、聚類領域中使用。

Mahout
  • Mahout是什麼,有哪些應用場景
  • Mahout機器學習環境的搭建和部署
  • Mahout中支持哪些高大上的算法
  • 使用Mahout完成推薦引擎
  • 實戰:實現基於web訪問的推薦程序
  • 什麼是聚類
  • 基於Mahout的常見聚類算法,如k-means算法
  • 實戰:實現新聞內容的聚類
  • 什麼是分類
  • 分類的工做原理
  • 提取特徵構建分類器
  • 實戰:構建分類服務器

第二十五階段:實戰項目

xx論壇日誌分析(錄播): 該項目的數據來自於黑馬程序員(http://edu.csdn.net/)論壇的日誌,該項目是爲本課程量身定作的,很是適合咱們hadoop課程學習。有的同窗以爲應該介紹更多項目,其實作過幾個項目後,就會發現項目的思路是相同的,只是業務不一樣而已。你們寫過這個項目後,就對hadoop的各個框架在項目中是如何使用的,有個比較清晰的認識,對hadoop與javaEE結合有個比較清晰的認識了。 
注:不少學員進入公司後發現,公司中大部分hadoop日誌分析項目,都是該項目的開發過程,千真萬確!

xx論壇日誌分析(錄播)
  • 項目背景介紹
  • 數據規模介紹
  • 業務關鍵指標介紹
  • 使用flume把日誌數據導入到hdfs中
  • 編寫MapReduce代碼進行數據清洗
  • 使用hbase存儲明細日誌,實現基於ip查詢
  • 使用hive對數據進行多維分析
  • 使用sqoop把hive分析結果導出到MySQL中

互聯網電商爬蟲項目: 該項目使用分佈式爬蟲爬取互聯網各大電商網站商品數據,前臺實現對數據的快速精準查詢和商品對比。

互聯網電商爬蟲
  • 商品頁面抓取和解析
  • 分佈式爬蟲設計細節
  • 分析url連接和頁面內容如何存儲
  • 分佈式爬蟲監控功能
  • 爬蟲頻繁爬取數據ip被封問題解決方案
  • 分析爬取失敗url如何處理
  • 抓取須要登陸的網站數據
  • 使用solr實現海量數據精準查詢
  • 使用hbase實現海量數據快速查詢

高頻數據實時流處理項目: 該項目實現對業務數據系統的高頻日誌數據進行實時收集和業務處理。

高頻數據實時流處理
  • 使用avro方式實現高頻日誌數據實時採集
  • flume sink源碼分析
  • 自定義kafkasink實現對收集的高頻日誌數據進行緩衝
  • 使用kafkaspout實現對kafka中的數據進行實時讀取
  • 使用storm實時計算框架對日誌數據進行分析處理
  • flume和kafka的整合
  • Kafka和storm的整合

國內排名前50名的某網站互聯網日誌分析項目: 經過大數據工具將互聯網中的日誌的採集、清洗、分析統計出常見的互聯網指標;開發各類維度UV的分佈報表、各個指標每日、月指標報表,用於對產品作出正確的決策,數據的正確性校對問題,臨時性的圖表的開發。

某網站互聯網日誌分析
  • 使用hadoop、mapreduce、hive清理和分析UV、PV、登陸、留存等常見指標
  • 使用storm實時分析充值、消費等的趨勢
  • 各類維度的趨勢對比、各個指標每日、月指標報表生成
  • 使用kettle數據的正確性校對問題和郵件報警

移動業務感知項目: 移動業務感知系統主要是利用hadoop集羣強大的計算能力對移動的大批量離線話單數據進行分析,統計移動用戶使用移動業務(流量套餐、話費套餐、鈴聲套餐等)狀況,達到感知用戶行爲和使用習慣,肯定移動業務推廣走向的一套系統。

相關文章
相關標籤/搜索