一篇文章帶你輕鬆讀懂2018大數據學習的各個階段

摘要:第一階段:Linux課程講解Linux基礎操作,講的是在命令行下進行文件系統的操作,這是Hadoop學習的基礎,後面的所有視頻都是基於linux操作的。鑑於很多學員沒有linux基礎,特增加該內容,保證零linux基礎入門。如果你從沒有使用過linux,別擔心,本節內容可以讓你入門。Linux認識linux如何使用vmware安裝linux鏡像認識linux的桌面環境、shell環境在shell環境下進行文件系統的操作,掌握more、touch、cp、mv、rm等20多個常用

第一階段:Linux課程講解Linux基礎操作,講的是在命令行下進行文件系統的操作,這是Hadoop學習的基礎,後面的所有視頻都是基於linux操作的。鑑於很多學員沒有linux基礎,特增加該內容,保證零linux基礎入門。

如果你從沒有使用過linux,別擔心,本節內容可以讓你入門。

  • Linux 認識linux
  • 如何使用vmware安裝linux鏡像
  1. 認識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的使用

學習大數據加QQ群:805127855

第二階段:hadoop2課程

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

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

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

介紹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的序列化機制和數據類型,並使用自定義類型實現電信日誌信息的統計。

介紹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在分佈式項目中應用較多。

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

第四階段:HBase課程hbase是個好東西,在以後工作中會經常遇到,特別是電信、銀行、保險等行業。本節講解hbase的偽分佈和集群的安裝,講解基本理論和各種操作。我們通過對hbase原理的講解,讓大家明白為什麼hbase會這麼適合大數據的實時查詢。最後講解hbase如何設計表結構,這是hbase優化的重點。學習大數據加QQ群:805127855

  • 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集群管理和使用 不僅簡化了集群安裝、配置、調優等工作,而且對任務監控、集群預警、快速定位問題都有很大的幫助。

  • CM+CDH集群管理 CM + CDH集群的安裝
  • 基於CM主機及各種服務組件的管理
  • CDH集群的配置和參數調優
  • CDH集群HA配置及集群升級
  • CM的監控管理
  • 集群管理的注意事項
 第六階段:Hive課程在《hadoop1零基礎拿高薪》課程中我們涉及了Hive框架內容,不過內容偏少,作為入門講解可以,但是在工作中還會遇到很多課程中沒有的。本課程的目的就是把Hive框架的邊邊角角都涉獵到,重點講解Hive的數據庫管理、數據表管理、表連接、查詢優化、如何設計Hive表結構。這都是工作中最急需的內容,是工作中的重點。很多初學者,對大數據的概念都是模糊不清的,大數據是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大數據學習企鵝群:805127855,有大量乾貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大數據講師給大家免費授課,給大家分享目前國內最完整的大數據高端實戰實用學習流程體系 

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之間進行雙向數據轉換的,在企業中,非常常用。學習大數據加QQ群:805127855

  • 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課程學習大數據加QQ群:805127855Spark是一款高性能的分佈式計算框架,傳言比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的分佈報表、各個指標每日、月指標報表,用於對產品做出正確的決策,數據的正確性校對問題,臨時性的圖表的開發。學習大數據加QQ群:805127855

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

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


分享到:


相關文章: