大數(shù)據(jù)基礎(chǔ)學習路線(供參考)

1.Linux基礎(chǔ)和分布式集群技術(shù)

學完此階段可掌握的核心能力:

熟練使用Linux,熟練安裝Linux上的軟件,了解熟悉負載均衡、高可靠等集群相關(guān)概念,搭建互聯(lián)網(wǎng)高并發(fā)、高可靠的服務(wù)架構(gòu);

學完此階段可解決的現(xiàn)實問題:

搭建負載均衡、高可靠的服務(wù)器集群,可以增大網(wǎng)站的并發(fā)訪問量,保證服務(wù)不間斷地對外服務(wù);

學完此階段可擁有的市場價值:

具備初級程序員必要具備的Linux服務(wù)器運維能力。?

1.內(nèi)容介紹:

在大數(shù)據(jù)領(lǐng)域,使用最多的操作系統(tǒng)就是Linux系列,并且?guī)缀醵际欠植际郊?。該課程為大數(shù)據(jù)的基礎(chǔ)課程,主要介紹Linux操作系統(tǒng)、Linux常用命令、Linux常用軟件安裝、Linux網(wǎng)絡(luò)、防火墻、Shell編程等。

2.案例:搭建互聯(lián)網(wǎng)高并發(fā)、高可靠的服務(wù)架構(gòu)。

2.離線計算系統(tǒng)課程階段

1. 離線計算系統(tǒng)課程階段

HADOOP核心技術(shù)框架

學完此階段可掌握的核心能力:

1、通過對大數(shù)據(jù)技術(shù)產(chǎn)生的背景和行業(yè)應(yīng)用案例了解hadoop的作用;

2、掌握hadoop底層分布式文件系統(tǒng)HDFS的原理、操作和應(yīng)用開發(fā);

3、掌握MAPREDUCE分布式運算系統(tǒng)的工作原理和分布式分析應(yīng)用開發(fā);

4、掌握HIVE數(shù)據(jù)倉庫工具的工作原理及應(yīng)用開發(fā)。

學完此階段可解決的現(xiàn)實問題:

1、熟練搭建海量數(shù)據(jù)離線計算平臺;

2、根據(jù)具體業(yè)務(wù)場景設(shè)計、實現(xiàn)海量數(shù)據(jù)存儲方案;

3、根據(jù)具體數(shù)據(jù)分析需求實現(xiàn)基于mapreduce的分布式運算程序;

學完此階段可擁有的市場價值:

具備企業(yè)數(shù)據(jù)部初級應(yīng)用開發(fā)人員的能力

1.1 HADOOP快速入門

1.1.1 hadoop知識背景

什么是hadoop、hadoop產(chǎn)生背景、hadoop在大數(shù)據(jù)云計算中的位置和關(guān)系、國內(nèi)hadoop的就業(yè)情況分析及課程大綱介紹

國內(nèi)外hadoop應(yīng)用案例介紹

分布式系統(tǒng)概述、hadoop生態(tài)圈及各組成部分的簡介

1.1.2 HIVE快速入門

hive基本介紹、hive的使用、數(shù)據(jù)倉庫基本知識

1.1.3 數(shù)據(jù)分析流程案例

web點擊流日志數(shù)據(jù)挖掘的需求分析、數(shù)據(jù)來源、處理流程、數(shù)據(jù)分析結(jié)果導出、數(shù)據(jù)展現(xiàn)

1.1.4 hadoop數(shù)據(jù)分析系統(tǒng)集群搭建

集群簡介、服務(wù)器介紹、網(wǎng)絡(luò)環(huán)境設(shè)置、服務(wù)器系統(tǒng)環(huán)境設(shè)置、JDK環(huán)境安裝、hadoop集群安裝部署、集群啟動、集群狀態(tài)測試

HIVE的配置安裝、HIVE啟動、HIVE使用測試

1.2 HDFS詳解

1.2.1 HDFS的概念和特性

什么是分布式文件系統(tǒng)、HDFS的設(shè)計目標、HDFS與其他分布式存儲系統(tǒng)的優(yōu)劣勢比較、HDFS的適用場景

1.2.2 HDFS的shell操作

HDFS命令行客戶端啟動、HDFS命令行客戶端的基本操作、命令行客戶端支持的常用命令、常用參數(shù)介紹

1.2.3 HDFS的工作機制

HDFS系統(tǒng)的模塊架構(gòu)、HDFS寫數(shù)據(jù)流程、HDFS讀數(shù)據(jù)流程

NAMENODE工作機制、元數(shù)據(jù)存儲機制、元數(shù)據(jù)手動查看、元數(shù)據(jù)checkpoint機制、NAMENODE故障恢復、DATANODE工作機制、DATANODE動態(tài)增減、全局數(shù)據(jù)負載均衡

1.2.4 HDFS的java應(yīng)用開發(fā)

搭建開發(fā)環(huán)境、獲取api中的客戶端對象、HDFS的java客戶端所具備的常用功能、HDFS客戶端對文件的常用操作實現(xiàn)、利用HDFS的JAVA客戶端開發(fā)數(shù)據(jù)采集和存儲系統(tǒng)

1.3 MAPREDUCE詳解

1.3.1 MAPREDUCE快速上手

為什么需要MAPREDUCE、MAPREDUCE程序運行演示、MAPREDUCE編程示例及編程規(guī)范、MAPREDUCE程序運行模式、MAPREDUCE程序調(diào)試debug的幾種方式

1.3.2 MAPREDUCE程序的運行機制

MAPREDUCE程序運行流程解析、MAPTASK并發(fā)數(shù)的決定機制、MAPREDUCE中的combiner組件應(yīng)用、MAPREDUCE中的序列化框架及應(yīng)用、MAPREDUCE中的排序、MAPREDUCE中的自定義分區(qū)實現(xiàn)、MAPREDUCE的shuffle機制、MAPREDUCE利用數(shù)據(jù)壓縮進行優(yōu)化、MAPREDUCE程序與YARN之間的關(guān)系、MAPREDUCE參數(shù)優(yōu)化

通過以上各組件的詳解,深刻理解MAPREDUCE的核心運行機制,從而具備靈活應(yīng)對各種復雜應(yīng)用場景的能力

MAPREDUCE實戰(zhàn)編程案例:通過一個實戰(zhàn)案例來熟悉復雜MAPREDUCE程序的開發(fā)。該程序是從nginx服務(wù)器產(chǎn)生的訪問服務(wù)器中計算出每個訪客的訪問次數(shù)及每次訪問的時長。原始數(shù)據(jù)樣例如下:

通過一系列的MAPREDUCE程序——清洗、過濾、訪問次數(shù)及時間分析,最終計算出需求所要的結(jié)果,用于支撐頁面展現(xiàn):

1.4 HIVE增強

1.4.1 HIVE基本概念

HIVE應(yīng)用場景、HIVE內(nèi)部架構(gòu)、HIVE與hadoop的關(guān)系、HIVE與傳統(tǒng)數(shù)據(jù)庫對比、HIVE的數(shù)據(jù)存儲機制、HIVE的運算執(zhí)行機制

1.4.2 HIVE基本操作

HIVE中的DDL操作、HIVE中的DML操作、在HIVE中如何實現(xiàn)高效的JOIN查詢、HIVE的內(nèi)置函數(shù)應(yīng)用、HIVE shell的高級使用方式、HIVE常用參數(shù)配置、HIVE自定義函數(shù)和TRANSFORM的使用技巧、HIVE UDF開發(fā)實例

1.4.3 HIVE高級應(yīng)用

HIVE執(zhí)行過程分析及優(yōu)化策略、HIVE在實戰(zhàn)中的最佳實踐案例、HIVE優(yōu)化分類詳解、HIVE實戰(zhàn)案例--數(shù)據(jù)ETL、HIVE實戰(zhàn)案例--用戶訪問時長統(tǒng)計

HIVE實戰(zhàn)案例--級聯(lián)求和報表實例:

離線數(shù)據(jù)挖掘系統(tǒng)

學完此階段可掌握的核心能力:

1、通過對數(shù)據(jù)倉庫知識的加強初步掌握數(shù)據(jù)倉庫的核心概念和設(shè)計流程;

2、通過對HADOOP生態(tài)圈關(guān)鍵輔助工具的學習掌握hadoop分析系統(tǒng)的整合能力;

3、通過電商系統(tǒng)點擊流日志數(shù)據(jù)挖掘系統(tǒng)實戰(zhàn)項目,掌握hadoop離線數(shù)據(jù)挖掘系統(tǒng)從數(shù)據(jù)采集、入庫、分析及報表展現(xiàn)的整套流程

學完此階段可解決的現(xiàn)實問題:

1、可根據(jù)企業(yè)具體場景設(shè)計海量數(shù)據(jù)分析系統(tǒng)的通用架構(gòu)

2、根據(jù)具體場景的特點有針對性地調(diào)整數(shù)據(jù)分析各環(huán)節(jié)的技術(shù)選型;

3、根據(jù)具體需求搭建起整套離線數(shù)據(jù)分析系統(tǒng);

4、簡單數(shù)據(jù)倉庫模型的設(shè)計和架構(gòu)

5、各環(huán)節(jié)具體功能模塊的開發(fā)實現(xiàn)

學完此階段可擁有的市場價值:

具備企業(yè)數(shù)據(jù)部中高級應(yīng)用開發(fā)和初級架構(gòu)師能力

2.1 數(shù)據(jù)倉庫增強

2.1.1 數(shù)據(jù)倉庫及數(shù)據(jù)模型入門

什么是數(shù)據(jù)倉庫、數(shù)據(jù)倉庫的意義、數(shù)據(jù)倉庫核心概念、數(shù)據(jù)倉庫的體系結(jié)構(gòu)

2.1.2 數(shù)據(jù)倉庫設(shè)計

建立數(shù)據(jù)倉庫的步驟、數(shù)據(jù)的抽取、數(shù)據(jù)的轉(zhuǎn)換、數(shù)據(jù)的加載、什么是數(shù)據(jù)模型、數(shù)據(jù)模型的常見類型、如何設(shè)計數(shù)據(jù)模型、如何選擇數(shù)據(jù)建模的架構(gòu)

典型數(shù)據(jù)模型——星型建模實例

2.1.3 數(shù)據(jù)倉庫建模樣例

業(yè)務(wù)建模、領(lǐng)域建模、邏輯建模、物理建模

web點擊流日志分析系統(tǒng)數(shù)據(jù)倉庫設(shè)計實戰(zhàn):

通過對數(shù)據(jù)特點和業(yè)務(wù)需求的分析,關(guān)系梳理,設(shè)計出一個主題明確、層次合理的數(shù)據(jù)模型

2.2 離線輔助系統(tǒng)

2.2.1 數(shù)據(jù)采集系統(tǒng)

數(shù)據(jù)采集概念介紹

FLUME日志采集框架介紹、FLUME工作機制、FLUME核心組件、FLUME參數(shù)配置說明、FLUME采集nginx日志實戰(zhàn)案例

2.2.2 任務(wù)調(diào)度系統(tǒng)

任務(wù)調(diào)度系統(tǒng)概念介紹、常用任務(wù)調(diào)度工具比較、OOZIE介紹、OOZIE核心概念、OOZIE的配置說明、OOIZE實現(xiàn)mapreduce/hive等任務(wù)調(diào)度實戰(zhàn)案例

2.2.3 數(shù)據(jù)導出

數(shù)據(jù)導出概念介紹、SQOOP基礎(chǔ)知識、SQOOP原理及配置說明、SQOOP數(shù)據(jù)導入實戰(zhàn)、SQOOP數(shù)據(jù)導出實戰(zhàn)、SQOOP批量作業(yè)操作

2.3 web點擊流日志分析系統(tǒng)實戰(zhàn)項目

2.3.1 項目介紹

1. 在PC時代,營銷的核心是購買,在移動互聯(lián)網(wǎng)時代,其核心是如何實現(xiàn)用戶個性化互動,對用戶傳播更為精準化的內(nèi)容,而實現(xiàn)這一核心的基礎(chǔ)就是對數(shù)據(jù)的管理和分析——數(shù)據(jù)驅(qū)動型商業(yè)模型。

2. 各類互聯(lián)網(wǎng)服務(wù)產(chǎn)品(如網(wǎng)站、APP)都可以通過前端技術(shù)獲取用戶的詳細行為數(shù)據(jù)(如訪問的頁面,點擊的區(qū)域、登陸的頻次、注冊行為、購買的行為等),將這些點擊流日志數(shù)據(jù)與后臺商業(yè)數(shù)據(jù)綜合起來,就可以挖掘?qū)具\營決策意義非凡的商業(yè)價值。

3. 本項目則是一個用大數(shù)據(jù)技術(shù)平臺實現(xiàn)的點擊流日志分析數(shù)據(jù)挖掘系統(tǒng),項目內(nèi)容涵蓋一個典型數(shù)據(jù)挖掘系統(tǒng)中,包括需求分析、數(shù)據(jù)采集、數(shù)據(jù)存儲管理、數(shù)據(jù)清洗、數(shù)據(jù)倉庫設(shè)計、ETL、業(yè)務(wù)模型統(tǒng)計分析、數(shù)據(jù)可視化的全部流程。

2.3.2 需求分析

什么是點擊流日志、點擊流日志的商業(yè)價值、點擊流日志分析需求

業(yè)務(wù)模型指標體系設(shè)計——流量分析、來源分析、受訪分析、訪客分析、轉(zhuǎn)化率分析

2.3.3 系統(tǒng)設(shè)計及開發(fā)

1. 系統(tǒng)架構(gòu)設(shè)計

2. 數(shù)據(jù)采集設(shè)計及開發(fā)——數(shù)據(jù)格式、數(shù)據(jù)內(nèi)容分析、數(shù)據(jù)生成規(guī)律、采集系統(tǒng)技術(shù)選型解析、FLUME采集系統(tǒng)實現(xiàn)

3. 數(shù)據(jù)存儲設(shè)計及開發(fā)——存儲技術(shù)選型、存儲業(yè)務(wù)流程解析、存儲目錄規(guī)劃及文件命名規(guī)則、小文件合并實現(xiàn)

4. 數(shù)據(jù)統(tǒng)計設(shè)計及開發(fā)——數(shù)據(jù)預處理、數(shù)據(jù)加載、原始數(shù)據(jù)表的創(chuàng)建、數(shù)據(jù)入庫、數(shù)據(jù)ETL

5. 報表統(tǒng)計設(shè)計——數(shù)據(jù)模型設(shè)計、事實表設(shè)計、維度表梳理

6. 業(yè)務(wù)指標設(shè)計及開發(fā)——PV統(tǒng)計(時間維度、終端維度、地域維度)、來訪次數(shù)統(tǒng)計(時間維度、地域維度、終端維度)、獨立訪客統(tǒng)計(時間維度、終端維度、地域維度)、受訪頁面統(tǒng)計(時間維度、欄目維度)、頁面熱點圖、轉(zhuǎn)化率分析、來源關(guān)鍵詞分析、來源搜索引擎分析、來源廣告推廣分析

2.3.4 任務(wù)調(diào)度系統(tǒng)設(shè)計實現(xiàn)

任務(wù)調(diào)度單元實現(xiàn)、各環(huán)節(jié)任務(wù)運行頻次及依賴關(guān)系梳理、工作流設(shè)計及實現(xiàn)、工作流定義配置上傳部署、工作流啟動即狀態(tài)監(jiān)控

2.3.5 數(shù)據(jù)可視化——結(jié)果報表展現(xiàn)

1. hive分析結(jié)果使用sqoop導出到msyql數(shù)據(jù)庫

2. 報表展現(xiàn)系統(tǒng)技術(shù)選型:

后臺使用spingmvc + spring + mybatis

前端頁面使用全靜態(tài)異步刷新技術(shù)Jquery + Echarts

3. web展現(xiàn)程序架構(gòu)搭建,使用maven構(gòu)建項目工程

4. web展現(xiàn)程序頁面設(shè)計開發(fā):原型頁面設(shè)計、js代碼開發(fā)

5. 最終實現(xiàn)以下數(shù)據(jù)可視化效果:

(1)流量概況可視化效果:

(2)來源地域分析可視化效果:

(3)來源類型分析可視化效果:

3.Storm實時計算部分階段

實時課程分為兩個部分:流式計算核心技術(shù)和流式計算計算案例實戰(zhàn)。

1.流式計算核心技術(shù)

流式計算核心技術(shù)主要分為兩個核心技術(shù)點:Storm和Kafka,學完此階段能夠掌握Storm開發(fā)及底層原理、Kafka的開發(fā)及底層原理、Kafka與Storm集成使用。具備開發(fā)基于storm實時計算程序的技術(shù)能力。

學完此階段可掌握的核心能力:

(1)、理解實時計算及應(yīng)用場景

(2)、掌握Storm程序的開發(fā)及底層原理、掌握Kafka消息隊列的開發(fā)及底層原理

(3)、具備Kafka與Storm集成使用的能力

學完此階段可解決的現(xiàn)實問題:

具備開發(fā)基于storm的實時計算程序的能力

學完此階段可擁有的市場價值:

具備實時計算開發(fā)的技術(shù)能力、但理解企業(yè)業(yè)務(wù)的能力不足

1.1、流式計算一般結(jié)構(gòu)

2011年在海量數(shù)據(jù)處理領(lǐng)域,Hadoop是人們津津樂道的技術(shù),Hadoop不僅可以用來存儲海量數(shù)據(jù),還以用來計算海量數(shù)據(jù)。因為其高吞吐、高可靠等特點,很多互聯(lián)網(wǎng)公司都已經(jīng)使用Hadoop來構(gòu)建數(shù)據(jù)倉庫,高頻使用并促進了Hadoop生態(tài)圈的各項技術(shù)的發(fā)展。一般來講,根據(jù)業(yè)務(wù)需求,數(shù)據(jù)的處理可以分為離線處理和實時處理,在離線處理方面Hadoop提供了很好的解決方案,但是針對海量數(shù)據(jù)的實時處理卻一直沒有比較好的解決方案。就在人們翹首以待的時間節(jié)點,storm橫空出世,與生俱來的分布式、高可靠、高吞吐的特性,橫掃市面上的一些流式計算框架,漸漸的成為了流式計算的首選框架。如果龐麥郎在的話,他一定會說,這就是我要的滑板鞋!

上圖是流式分析的一般架構(gòu)圖,抽象出四個步驟就是數(shù)據(jù)采集、數(shù)據(jù)緩沖、數(shù)據(jù)處理、數(shù)據(jù)輸出。一般情況下,我們采用Flume+kafka+Storm+Redis的結(jié)構(gòu)來進行流式數(shù)據(jù)分析。實時部分的課程主要是針對Kafka、Storm進行學習

1.2、流式計算可以用來干什么

一淘-實時分析系統(tǒng):實時分析用戶的屬性,并反饋給搜索引擎。最初,用戶屬性分析是通過每天在云梯上定時運行的MR job來完成的。為了滿足實時性的要求,希望能夠?qū)崟r分析用戶的行為日志,將最新的用戶屬性反饋給搜索引擎,能夠為用戶展現(xiàn)最貼近其當前需求的結(jié)果。

攜程-網(wǎng)站性能監(jiān)控:實時分析系統(tǒng)監(jiān)控攜程網(wǎng)的網(wǎng)站性能。利用HTML5提供的performance標準獲得可用的指標,并記錄日志。Storm集群實時分析日志和入庫。使用DRPC聚合成報表,通過歷史數(shù)據(jù)對比等判斷規(guī)則,觸發(fā)預警事件。

一個游戲新版本上線,有一個實時分析系統(tǒng),收集游戲中的數(shù)據(jù),運營或者開發(fā)者可以在上線后幾秒鐘得到持續(xù)不斷更新的游戲監(jiān)控報告和分析結(jié)果,然后馬上針對游戲的參數(shù)和平衡性進行調(diào)整。這樣就能夠大大縮短游戲迭代周期,加強游戲的生命力。

實時計算在騰訊的運用:精準推薦(廣點通廣告推薦、新聞推薦、視頻推薦、游戲道具推薦);實時分析(微信運營數(shù)據(jù)門戶、效果統(tǒng)計、訂單畫像分析);實時監(jiān)控(實時監(jiān)控平臺、游戲內(nèi)接口調(diào)用)

為了更加精準投放廣告,阿里媽媽后臺計算引擎需要維護每個用戶的興趣點(理想狀態(tài)是,你對什么感興趣,就向你投放哪類廣告)。用戶興趣主要基于用戶的歷史行為、用戶的實時查詢、用戶的實時點擊、用戶的地理信息而得,其中實時查詢、實時點擊等用戶行為都是實時數(shù)據(jù)。考慮到系統(tǒng)的實時性,阿里媽媽使用Storm維護用戶興趣數(shù)據(jù),并在此基礎(chǔ)上進行受眾定向的廣告投放。

1.3、Storm核心技術(shù)點

基礎(chǔ)技術(shù)點

linux環(huán)境準備、zookeeper集群搭建、Storm集群搭建、Storm配置文件配置項講解、集群搭建常見問題解決。

Storm練習案例

根據(jù)螞蟻金服提供的最新數(shù)據(jù),今年雙十一的交易峰值為8.59萬筆/秒,是去年3.85萬筆/秒的2.23倍。這一數(shù)據(jù)也超過了6萬筆/秒的預估。如何實時的計算訂單金額,讓公司領(lǐng)導層看到呢?

(圖為雙十一支付寶成交金額)

Storm基礎(chǔ)及原理

Storm常用組件和編程API:Topology、 Spout、Bolt、Storm分組策略(stream groupings)、Storm項目maven環(huán)境搭建、使用Strom開發(fā)一個WordCount例子、Storm程序本地模式debug、Storm消息可靠性及容錯原理、Storm任務(wù)提交流程、Strom消息容錯機制。

(圖為storm組件)

1.4、Kafka核心技術(shù)點

Storm結(jié)合消息隊列Kafka:消息隊列基本概念(Producer、Consumer、Topic、Broker等)、消息隊列Kafka使用場景、Storm結(jié)合Kafka編程API、Kafka負載均衡、Kafka消息存儲原理等。

(圖為Kafka消息隊列原理)

2.流式計算案例實戰(zhàn)

實戰(zhàn)案例部分主要有三個企業(yè)實戰(zhàn)案列,分別是基于點擊流的日志分析系統(tǒng)、基于系統(tǒng)日志的監(jiān)控告警系統(tǒng)、基于訂單系統(tǒng)的交易風控系統(tǒng),三個案列是企業(yè)中的典型項目。學完此階段能夠獨立根據(jù)企業(yè)的業(yè)務(wù)性質(zhì)開發(fā)相關(guān)的storm程序。

學完此階段可掌握的核心能力:

1、掌握企業(yè)核心業(yè)務(wù)需求

2、掌握實時系統(tǒng)常見的開發(fā)流程及運營經(jīng)驗

學完此階段可解決的現(xiàn)實問題:

可以獨立開發(fā)storm程序來滿足業(yè)務(wù)需求

學完此階段可擁有的市場價值:

熟練學習和掌握后,可滿足企業(yè)開發(fā)的初級需求,根據(jù)市場反饋數(shù)據(jù)看,薪資普遍在15000-18000元/月。

2.1、案例:流量日志分析

流量日志分析之漏斗模型:大型電商網(wǎng)站,上億規(guī)模的用戶,千萬級別的活躍用戶,如何評估一個商品專題頁面的效果好不好呢?比如:瀏覽次數(shù)、加入購物車次數(shù)、下單次數(shù)、支付次數(shù)、完成。

(圖為日志分析漏斗模型-數(shù)據(jù)部必備)

流量日志分析之基礎(chǔ)數(shù)據(jù)分析:電商網(wǎng)上商品數(shù)量在千萬級別,店鋪數(shù)量在百萬級別,如何實時的計算一個每個商品頁的訪問數(shù)、用戶數(shù)、來源信息等基礎(chǔ)信息呢?如何實時的計算每個店鋪的訪問數(shù)、用戶數(shù)、來源信息等基礎(chǔ)數(shù)據(jù)呢?

(圖為頁面瀏覽分析-數(shù)據(jù)部必備)

2.2、案例:統(tǒng)一監(jiān)控告警系統(tǒng)

隨著公司業(yè)務(wù)發(fā)展,支撐公司業(yè)務(wù)的各種系統(tǒng)越來越多,為了保證公司的業(yè)務(wù)正常發(fā)展,急需要對這些線上系統(tǒng)的運行進行監(jiān)控,做到問題的及時發(fā)現(xiàn)和處理,最大程度減少對業(yè)務(wù)的影響。不同業(yè)務(wù)的會有幾十上百臺服務(wù)器去支撐,大型企業(yè)可能是成千上萬臺服務(wù)器,那么每臺服務(wù)器的硬件狀態(tài)、業(yè)務(wù)應(yīng)用狀態(tài)如何實時的監(jiān)控,做到及時發(fā)現(xiàn),快速解決問題呢?

(圖為企業(yè)產(chǎn)生日志的系統(tǒng)清單)

統(tǒng)一監(jiān)控系統(tǒng)觸發(fā)的短信告警

統(tǒng)一監(jiān)控系統(tǒng)觸發(fā)的郵件告警

2.3、案例:交易風控系統(tǒng)

電子商務(wù)是以互聯(lián)網(wǎng)絡(luò)為平臺的貿(mào)易新模式,它的一個最大特點是強調(diào)參加交易的各方和所合作的伙伴都要通過Internet密切結(jié)合起來,共同從事在網(wǎng)絡(luò)環(huán)境下的商業(yè)電子化應(yīng)用。用戶信息容易受到計算機病毒、黑客的攻擊,商業(yè)信息和數(shù)據(jù)易于搭截偵聽、口令試探和竊取,為了防止用戶信息異常給商家和用戶帶來不必要的損失,企業(yè)期望針對用戶的訂單進行分析,對觸發(fā)規(guī)則的訂單進行風險預警,在必要情況下進行攔截及鎖定訂單。

(圖為訂單異常攔截)

4.Spark內(nèi)存計算階段

學完此階段可掌握的核心能力:

1.掌握Scala函數(shù)式編程特性,熟練使用Scala開發(fā)程序,可以看懂其他用Scala編寫源碼。

2.搭建Spark集群、使用Scala編寫Spark計算程序,熟練掌握Spark原理,可以閱讀Spark源碼。

3.理解DataFrame和RDD之間的關(guān)系,熟練使用DataFrame的API,熟練使用Spark SQL處理結(jié)構(gòu)化數(shù)據(jù),通過Spark SQL對接各種數(shù)據(jù)源,并將處理后結(jié)果寫回到存儲介質(zhì)中。

4.理解Spark Streaming的核心DStream,掌握DStream的編程API并編寫實時計算程序。

學完此階段可解決的現(xiàn)實問題:

熟練使用Scala快速開發(fā)Spark大數(shù)據(jù)應(yīng)用,通過計算分析大量數(shù)據(jù),挖掘出其中有價值的數(shù)據(jù),為企業(yè)提供決策依據(jù)。

學完此階段可擁有的市場價值:

學習完spark并掌握其內(nèi)容,將具備中級大數(shù)據(jù)工程師能力,薪水可以達到20K~25K。

1.Scala函數(shù)式編程

介紹:Scala是一門集面向?qū)ο蠛秃瘮?shù)式編程與一身的編程語言,其強大的表達能力、優(yōu)雅的API、高效的性能等優(yōu)點受到越來越多程序員的青睞。Spark底層就是用Scala語言編寫,如果想徹底掌握Spark,就必須學好Scala。

案例:Scala編程實戰(zhàn),基于Akka框架,編寫一個簡單的分布式RPC通信框架

2.使用Spark處理離線數(shù)據(jù)

介紹:Spark是基于內(nèi)存計算的大數(shù)據(jù)并行計算框架,具有高容錯性和高可伸縮性,可以在大量廉價硬件之上部署大規(guī)模集群,在同等條件下要比Hadoop快10到100倍。

3.使用Spark SQL處理結(jié)構(gòu)化數(shù)據(jù)

介紹:Spark SQL的前身是Shark,專門用來處理結(jié)構(gòu)化的數(shù)據(jù),類似Hive,是將SQL轉(zhuǎn)換成一系列RDD任務(wù)提交到Spark集群中運行,由于是在內(nèi)存中完成計算,要比hive的性能高很多,并且簡化了開發(fā)Spark程序的難度同時提高了開發(fā)效率。

4.使用Spark Streaming完成實時計算

介紹:Spark Streaming類似于Apache Storm,用于流式數(shù)據(jù)的處理。根據(jù)其官方文檔介紹,Spark Streaming有高吞吐量和容錯能力強等特點。Spark Streaming支持的數(shù)據(jù)輸入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和簡單的TCP套接字等等。數(shù)據(jù)輸入后可以用Spark的高度抽象原語如:map、reduce、join、window等進行運算。而結(jié)果也能保存在很多地方,如HDFS,數(shù)據(jù)庫等。另外Spark Streaming也能和MLlib(機器學習)以及Graphx完美融合

5.Spark綜合項目:

介紹:該項目使用了Spark SQL和Spark Streaming對游戲整個生命周期產(chǎn)生的數(shù)據(jù)進行了分析,從玩家第一次登錄游戲到每天產(chǎn)生的游戲日志,通過大量的數(shù)據(jù)來分析該游戲的運營情況和玩家的各種行為:如活躍用戶、用戶留存、充值比例、游戲收人、外掛分析等。

通過玩家登錄游戲產(chǎn)生的數(shù)據(jù)分析一天之內(nèi)各個時間段進入游戲的情況

通過玩家登陸游戲產(chǎn)生的數(shù)據(jù)分析玩家在全國地區(qū)的分步情況,調(diào)整廣告投放策略

用戶留存指標可以分析游戲?qū)ν婕业奈?,分析用戶流失原?/p>

用戶等級信息可以分析玩家等等級分布情況、調(diào)整裝備爆率和游戲難度

通過上面游戲各個數(shù)據(jù)指標的分析,可以讓游戲運維者了解游戲的運維情況,為運維者提供各種個性化的調(diào)整策略,從而保證游戲健康、穩(wěn)定的運營。

希望學習大數(shù)據(jù)的朋友可以通過學習路線獲得一些思考和借鑒,后續(xù)也會逐步的完善。

最后,想學習大數(shù)據(jù)的朋友可以加大數(shù)據(jù)交流群:724693112 可以學習大數(shù)據(jù)免費入門精品課程和領(lǐng)取大數(shù)據(jù)學習資料,歡迎大家一起來學習。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容