大資料時代的學習方向和清晰的路線分享
“大資料”可能帶來的巨大價值正漸漸被人們認可,它通過技術的創新與發展,以及資料的全面感知、收集、分析、共享,為人們提供了一種全新的看待世界的方法。更多地基於事實與資料做出決策,這樣的思維方式,可以預見,將推動一些習慣於靠“差不多”執行的社會發生巨大變革。大資料的“樣本=總體”的全資料模式,這是“讓資料發聲”。
至於什麼是大資料?定義是大資料(big data),或稱巨量資料,指的是所涉及的資料量規模巨大到無法透過目前主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。而維基百科上給的則是大資料由巨型資料集組成,這些資料集大小常超出常用軟體在可接受時間下的收集、應用、管理和處理能力。
而大資料的主要內容也主要是“資料——大資料——分析和挖掘——發現和預測。
大資料的4V特點:Volume、Velocity、Variety、Veracity。大資料的4個“V”,或者說特點有四個層面:第一,資料體量巨大。從TB級別,躍升到PB級別;第二,資料型別繁多。前文提到的網路日誌、視訊、圖片、地理位置資訊等等。第三,價值密度低,商業價值高。以視訊為例,連續不間斷監控過程中,可能有用的資料僅僅有一兩秒。第四,處理速度快。1秒定律。最後這一點也是和傳統的資料探勘技術有著本質的不同。
大資料學習方向和路線
一、大資料運維之Linux基礎
打好Linux基礎,以便更好地學習Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等。因為企業
中的專案基本上都是使用Linux環境下搭建或部署的。
1)Linux系統概述 |
6)使用者和使用者組管理 |
二、大資料開發核心技術 - Hadoop 2.x從入門到精通
大資料是未來的發展方向,正在挑戰我們的分析能力及對世界的認知方式,因此,我們與時俱進,迎接變化,並不斷的成長!大資料學習群:868847735 一起討論進步學習
大資料的基石:其一,分散式檔案系統HDFS用於儲存海量資料,無論是Hive、HBase或者Spark資料儲存在其上面;其二是分散式資源管理框架
YARN,是Hadoop 雲作業系統(也稱資料系統),管理叢集資源和分散式資料處理框架MapReduce、Spark應用的資源排程與監控;分散式平行計算框架
MapReduce目前是海量資料並行處理的一個最常用的框架。Hadoop 2.x的編譯、環境搭建、HDFS Shell使用,YARN 叢集資源管理與任務監控,MapReduce編
程,分散式叢集的部署管理(包括高可用性HA)必須要掌握的。
一、初識Hadoop 2.x 1)大資料應用發展、前景 |
二、深入Hadoop 2.x 1)HDFS檔案系統的架構、功能、設計 |
三、高階Hadoop 2.x 1)分散式部署Hadoop 2.x
|
三、大資料開發核心技術 - 大資料倉庫Hive
hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行
執行。其優點是學習成本低,可以通類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉庫的統計分析。
一、Hive 初識入門 1)Hive功能、體系結構、使用場景 |
二、Hive深入使用 1)Hive中的內部表、外部表、分割槽表 |
三、Hive高階進階 1)Hive資料的儲存和壓縮 |
四、結合實際案例分析 1)依據業務設計表 |
四、大資料協作框架 - Sqoop/Flume/Oozie
Sqoop是一款開源的工具,主要用於在Hadoop(Hive)與傳統的資料庫(mysql、postgresql...)間進行資料的傳遞,可以將一個關係型資料庫(例如 : MySQL
,Oracle ,Postgres等)中的資料導進到關係型資料庫中。Sqoop專案開始於2009年,最早是作為Hadoop的一個第三方模組存在,後來為了讓使用者能夠快速部
署,也為了讓開發人員能夠更快速的迭代開發,Sqoop獨立成為一個Apache專案。
一、資料轉換工具Sqoop 1)Sqoop功能、使用原則 |
二、檔案收集框架Flume 1)Flume 設計架構、原理(三大元件) |
三、Oozie功能、安裝部署 1)使用Oozie排程MapReduce Job和HiveQL |
五、大資料Web開發框架 - 大資料WEB 工具Hue
Hue是一個開源的Apache Hadoop UI系統,最早是由Cloudera Desktop演化而來,由Cloudera貢獻給開源社群,它是基於Python Web框架Django實現的。通
過使用Hue我們可以在瀏覽器端的Web控制檯上與Hadoop叢集進行互動來分析處理資料,例如操作HDFS上的資料,執行MapReduce Job等等。
1)Hue架構、功能、編譯 |
4)Hue整合Hive、DataBase |
六、大資料核心開發技術 - 分散式資料庫HBase從入門到精通
HBase是一個分散式的、面向列的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料的分散式儲存系統”。HBase在
Hadoop之上提供了類似於Bigtable的能力,是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大
規模結構化儲存叢集
一、HBase初窺使用 1)HBase是什麼、發展、與RDBMS相比優勢、企業使用 |
二、HBase 深入使用 1)HBase 資料儲存模型 |
三、HBase 高階使用 1)如何設計表、表的預分割槽(依據具體業務分析講解) |
四、進行分析 1)依據需求設計表、建立表、預分割槽 |
七、大資料核心開發技術 - Storm實時資料處理
Storm是Twitter開源的分散式實時大資料處理框架,被業界稱為實時版Hadoop。 隨著越來越多的場景對Hadoop的MapReduce高延遲無法容忍,比如網站統計、
推薦系統、預警系統、金融系統(高頻交易、股票)等等, 大資料實時處理解決方案(流計算)的應用日趨廣泛,目前已是分散式技術領域最新爆發點,而Storm更是
流計算技術中的佼佼者和主流。 按照storm作者的說法,Storm對於實時計算的意義類似於Hadoop對於批處理的意義。Hadoop提供了map、reduce原語,使我
們的批處理程式變得簡單和高效。 同樣,Storm也為實時計算提供了一些簡單高效的原語,而且Storm的Trident是基於Storm原語更高階的抽象框架,類似於基於
Hadoop的Pig框架, 讓開發更加便利和高效。本課程會深入、全面的講解Storm,並穿插企業場景實戰講述Storm的運用。 淘寶雙11的大螢幕實時監控效果衝擊
了整個IT界,業界為之驚歎的同時更是引起對該技術的探索。 可以自己開發升級版的“淘寶雙11”?
1)Storm簡介和課程介紹 |
15)Storm事務案例實戰之 ITransactionalSpout |
八、Spark技術實戰之基礎篇 -Scala語言從入門到精通
為什麼要學習Scala?源於Spark的流行,Spark是當前最流行的開源大資料記憶體計算框架,採用Scala語言實現,各大公司都在使用Spark:IBM宣佈承諾大力推進
Apache Spark專案,並稱該專案為:在以資料為主導的,未來十年最為重要的新的開源專案。這一承諾的核心是將Spark嵌入IBM業內領先的分析和商務平臺,
Scala具有資料處理的天然優勢,Scala是未來大資料處理的主流語言
1)-Spark的前世今生 |
11)-Scala程式設計詳解:Map與Tuple |
九、大資料核心開發技術 - 記憶體計算框架Spark
Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用並行框架,Spark,擁有Hadoop MapReduce所具有的優點。啟用了記憶體分佈資料集,除
了能夠提供互動式查詢外,它還可以優化迭代工作負載。Spark Streaming: 構建在Spark上處理Stream資料的框架,基本的原理是將Stream資料分成小的時間片斷
(幾秒),以類似batch批量處理的方式來處理這小部分資料
1)Spark 初識入門 |
10)案例分析 |
十、大資料核心開發技術 - Spark深入剖析
1)Scala程式設計、Hadoop與Spark叢集搭建、Spark核心程式設計、Spark核心原始碼深度剖析、Spark效能調優 |
十一、企業大資料平臺高階應用
完成大資料相關企業場景與解決方案的剖析應用及結合一個電子商務平臺進行實戰分析,主要包括有: 企業大資料平臺概述、搭建企業
大資料平臺、真實伺服器手把手環境部署、使用CM 5.3.x管理CDH 5.3.x叢集
1)企業大資料平臺概述 |
9)真實伺服器手把手環境部署 |
十二、專案實戰:驢媽媽旅遊網大型離線資料電商分析平臺
離線資料分析平臺是一種利用hadoop叢集開發工具的一種方式,主要作用是幫助公司對網站的應用有一個比較好的瞭解。尤其是在電商、旅遊、銀行、證券、遊戲
等領域有非常廣泛,因為這些領域對資料和使用者的特性把握要求比較高,所以對於離線資料的分析就有比較高的要求了。 本課程講師本人之前在遊戲、旅遊等公司
專門從事離線資料分析平臺的搭建和開發等,通過此專案將所有大資料內容貫穿,並前後展示!
1)Flume、Hadoop、Hbase、Hive、Oozie、Sqoop、離線資料分析,SpringMVC,Highchat |
十三、專案實戰:基於1號店的電商實時資料分析系統
1)全面掌握Storm完整專案開發思路和架構設計 |
6)靈活運用HBase作為外部儲存 |
十四、專案實戰:基於美團網的大型離線電商資料分析平臺
本專案使用了Spark技術生態棧中最常用的三個技術框架,Spark Core、Spark SQL和Spark Streaming,進行離線計算和實時計算業務模組的開發。實現了包括用
戶訪問session分析、頁面單跳轉化率統計、熱門商品離線統計、 廣告點選流量實時統計4個業務模組。過合理的將實際業務模組進行技術整合與改造,
該專案完全涵蓋了Spark Core、Spark SQL和Spark Streaming這三個技術框架中幾乎所有的功能點、知識點以及效能優化點。 僅一個專案,即可全面掌握Spark
技術在實際專案中如何實現各種型別的業務需求!在專案中,重點講解了實際企業專案中積累下來的寶貴的效能調優 、troubleshooting以及資料傾斜解決方案等知識和技術
1)真實還原完整的企業級大資料專案開發流程: |
2)現場Excel手工畫圖與寫筆記:所有複雜業務流程、架構原理 |
十五、機器學習及實踐
基於PyMC語言以及一系列常用的Python資料分析框架,如NumPy、SciPy和Matplotlib,通過概率程式設計的方式,講解了貝葉斯推斷的原理和實現方法。
該方法常常可以在避免引入大量數學分析的前提下,有效地解決問題。課程中使用的案例往往是工作中遇到的實際問題,有趣並且實用。迴歸等演算法有較為深入的瞭解,以Python程式語言為基礎,在不涉及大量數學模型與複雜程式設計知識的前提下,熟悉並且掌握當下最流行的機器學習演算法,如迴歸、決策樹、SVM等,並通過程式碼例項來 展示所討論的演算法的實際應用。
1)Mahout、Spark MLlib概述 |
8)隨機森林及Mahout、SparkMllib案例 |
十六、推薦系統
開發推薦系統的方法,尤其是許多經典演算法,重點探討如何衡量推薦系統的有效性。課程內容分為基本概念和進展兩部分:前者涉及協同推薦、基於
內容的推薦、基於知識的推薦、混合推薦方法,推薦系統的解釋、評估推薦系統和例項分析;後者包括針對推薦系統的攻擊、線上消費決策、推薦系統和下一代網際網路以及普適環境中的推薦
1)協同過濾推薦 |
5)推薦系統的解釋 |
十七、分散式搜尋引擎Elasticsearch開發
聯網+、大資料、網路爬蟲、搜尋引擎等等這些概念,如今可謂炙手可熱
1)Elasticsearch概念 |
5)Elasticsearch索引和Mapping |
十八、大資料高併發系統架構實戰方案(LVS負載均衡、Nginx、共享儲存、海量資料、佇列快取 )
隨著網際網路的發展,高併發、大資料量的網站要求越來越高。而這些高要求都是基礎的技術和細節組合而成的。
十九、大資料高併發伺服器實戰
隨著Web技術的普及,Internet上的各類網站第天都在雪崩式增長。但這些網站大多在效能上沒做過多考慮。當然,它們情況不同。有的是Web技術本身的原因(主
要是程式程式碼問題),還有就是由於Web伺服器未進行優化。不管是哪種情況,一但使用者量在短時間內激增,網站就會明顯變慢,甚至拒絕放訪問。要想有效地解決
這些問題,就只有依靠不同的優化技術。本課程就是主要用於來解決大型網站效能問題,能夠承受大資料、高併發。主要涉及 技術有:nginx、tomcat、memcached、redis快取、負載均衡等高階開發技術
大資料分析、資料視覺化
二十、Tableau商業智慧與視覺化應用實戰
Tableau的資料連線與編輯、圖形編輯與展示功能,包括資料連線與管理、基礎與高階圖形分析、地圖分析、高階資料操作、基礎統計分析、如何與R整合進行高階分析、分析圖表整合以及分析成果共享等主要內容。
1)什麼是資料視覺化? |
12)工作表 |
二十一、Echarts從入門到上手實戰
對資料視覺化技術有一個全面、系統、深入的瞭解,最終達到能夠利用Echarts圖表結合後端資料進行前端視覺化報表展示的目的,
1)資料視覺化概述 |
11)Echarts3.x與Echarts2.x的區別 |
二十二、Vue.js快速上手
Vue.js是一套構建使用者介面的輕量級MVVM框架,與其他重量級框架不同的是, Vue.js 的核心庫只關注檢視層,並且非常容易學習,很容易與其它前端技術或已有的專案整合。 本課程主要分兩部分講解:1.掌握Vue.js設計規範的語法;
1)Vue.js簡介和MVC、MVP以及MVVM架構 |
18)事件修飾符 |