《大數(shù)據(jù)分析關鍵技術38》由會員分享,可在線閱讀,更多相關《大數(shù)據(jù)分析關鍵技術38(40頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,大數(shù)據(jù)分析關鍵技術,概述,即席查詢,批量,處理,流式計算,大數(shù)據(jù),計算分析模式分類,即席查詢,Ad-Hoc Query,批量處理,Batch,Processing,Map/Reduce,流式計算,Stream,Computing,數(shù)據(jù)承載,響應時間,適用場景,磁盤,秒
2、級,(,準實時,),自然人交互式,經(jīng)營分析,磁盤,分鐘級至小時級,(,準實時,),事前,/,事后,大批量數(shù)據(jù)處理,內存,(,事件窗口,非全量數(shù)據(jù),),秒級,(,實時,),實時事件分析,實時風險干預,針對不同的業(yè)務領域,需要采用不同的數(shù)據(jù)計算分析方式,快速發(fā)現(xiàn)數(shù)據(jù)價值。,即席查詢,即席查詢(,Ad Hoc,)是,用戶根據(jù)自己的需求,,靈活的選擇查詢條件,系統(tǒng)能夠根據(jù)用戶的選擇生成相應的統(tǒng)計報表。即席查詢與普通應用查詢最大的不同是,普通的應用查詢是定制開發(fā)的,,而,即席查詢是用戶自定義查詢條件,。,即席查詢,Storage,Distribute,File,System,Column,Databas
3、e,Resource,Management,Parallel,Compute,Framework,SQL,Syntax+,Compute,Framework,SQL,Syntax,Meta,Data,Batch,Processing,Ad-Hoc,Query,實時性,:高,批量處理,Storage,Distribute,File,System,Column,Database,Resource,Management,Parallel,Compute,Framework,SQL,Syntax+,Compute,Framework,SQL,Syntax,Meta,Data,Batch,Process
4、ing,Ad-Hoc,Query,MapReduce,是一種編,程模型,用于,大規(guī)模數(shù)據(jù),集的并行,批量計算,。概念,Map,和,Reduce,當前的,主流,實現(xiàn)是指定一個,Map,函數(shù),,用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的,Reduce,函數(shù),,用來保證所有映射的鍵值對中的每一個共享相同的鍵組,。,形成這種模型的原因是:數(shù)據(jù)的分布式存儲、計算資源的分布式、,并行計算減少計算時長。,批量處理,實時性,:低,流式,計算,流數(shù)據(jù)的實時計算,注重對流數(shù)據(jù)的快速高效處理、計算和分析,。,其特點是計算過程數(shù)據(jù)不落地,所有數(shù)據(jù)在內存中完成。其計算模型是根據(jù)規(guī)則生成容器,當數(shù)據(jù)流經(jīng)過容器時,實
5、時產(chǎn)生分析結果。,流式計算,Input,Adapter,Output,Adapter,Engine,Cluster,Cluster,Management,Rule,Repository,NoSQL,實時性,:高,概述,即席查詢,批量,處理,流式計算,Impala,Node,Impala,架構,Impalad,Query Planner,Query,Coordinator,Query,Exec,Engine,Common,HiveQL,&,Interface,MetaData,SQL,JDBC,Hive MetaStore,HDFS NN,State Store,Impalad,Query Pl
6、anner,Query,Coordinator,Query,Exec,Engine,Impalad,Query Planner,Query,Coordinator,Query,Exec,Engine,Data,HDFS,DN,HBase,Data,HDFS,DN,HBase,Data,HDFS,DN,HBase,Impala,Node,Impala,Node,Local,Direct,Reads,Thrift,Hive,架構,Data,HDFS,DN,Task,Tracker,Job,Tracker,Name,Node,Hadoop,Hive(Over Hadoop 0.20.X),SQL,J
7、DBC,WUI,Thrift,Server,Driver,(Compiler,Optimizer,Executor),Meta,Store,ThriftServer:J,DBC,通過ThriftServer連接到,Hive,。,ThriftServer,連接,MetaStore,來讀取,hive,的元數(shù)據(jù)信息,。,MetaStore,:,在關系型數(shù)據(jù)庫中,存放表,/,分區(qū),/,列元數(shù)據(jù),,可以低延遲的快速的訪問到需要的元數(shù)據(jù)信,息。,Driver/QueryCompiler/ExecutionEngine:,客戶端提交的,HiveSQL,首先進入,Driver,,然后,Driver,會為此次,
8、HiveSQL,的執(zhí)行創(chuàng)建一個,Session,,,Driver,維護整個,session,的生命周期。,Driver,首先將,HiveSQL,傳送給,QueryCompiler,,然后由,QueryCompiler,來對用戶提交的,HiveSQL,進行編譯,/,檢查,/,優(yōu)化并最終生成,MapReduce,任務,。,ExecutionEngine會與Hadoop進行交互,將 MapReduce任務交給Hadoop來執(zhí)行,并從Hadoop取得最終的執(zhí)行結果,并返回給用戶,。,解析,HiveSQL,之后生成,所,MapReduce,任務,,在,運行,中,訪問元數(shù)據(jù)信息時,,將,直接讀取,生成的物
9、理計劃,時產(chǎn)生的,plan.xml,,,此,文件會被放入,Hadoop,的分布式緩存中,,,,,MapReduce,任務可以從分布式緩存中獲得,相應,的元數(shù)據(jù)。,Impala,相對于,Hive,的優(yōu)勢,Impala,不需要把中間結果寫入磁盤,省掉了大量的,I/O,開銷。,省掉了,MapReduce,作業(yè)啟動的開銷。,MapReduce,啟動,task,的速度很慢(默認每個心跳間隔是,3,秒鐘),,Impala,直接通過相應的服務進程來進行作業(yè)調度,速度快了很多。,Impala,借鑒,了,MPP,并行數(shù)據(jù)庫的,思想,,可以,做,更多的查詢優(yōu)化,從而省掉不必要的,shuffle,、,sort,等開
10、銷。,使用了支持,Data locality,的,I/O,調度機制,盡可能地將數(shù)據(jù)和計算分配在同一臺機器上進行,減少了網(wǎng)絡開銷。,用,C+,實現(xiàn),做了很多有針對性的硬件優(yōu)化。,對外提供多語言,API,、多種訪問協(xié)議。,中間結果,作業(yè)調度,作業(yè)分發(fā),數(shù)據(jù)訪問,代碼實現(xiàn),概述,即席查詢,批量,處理,流式計算,MapReduce,v0.23.x,(YARN),Node,Manager,Container,App,Master,Node,Manager,Container,App,Master,Node,Manager,Container,Resource,Manager,Client,Client,
11、Job,Submission,Container,MapReduce,Status,Resource,Request,Node,Status,從 0.23.0 版本開始,Hadoop 的 MapReduce 框架完全重,構。,新的,Hadoop MapReduce 框架命名為,MapReduceV2,Y,ARN,概述,即席查詢,批量,處理,流式計算,Primeton,CEP,Storm,流數(shù)據(jù)處理技術 對比,傳統(tǒng),規(guī)則引擎,(,概念,),維度,流數(shù)據(jù)處理技術,傳統(tǒng)規(guī)則引擎,處理方式,“窗口模式”多維關聯(lián)分析,基于對屬性的判斷,處理模型,富狀態(tài),無狀態(tài),異常處理,內存狀態(tài)數(shù)據(jù)的自動化恢復,服務無
12、狀態(tài),數(shù)據(jù)重跑,簡單舉例,每種硬幣各有多少個,對硬幣進行分類,按時間區(qū)間、按長度區(qū)間、按時間與長度混合區(qū)間、按特有屬性值等規(guī)則所建立起的對象集合,存放在內存中。,若動畫中,再對已分類的硬幣進行自動打包,有兩種方式:,1.,判斷槽中的硬幣數(shù)量,觸發(fā)打包動作;,2.,判斷槽中的硬幣重量,觸發(fā)打包動作;,窗口模式,如動畫中對硬幣的分揀動作:可以根據(jù)硬幣的物理屬性設計不同的判斷規(guī)則(軌道寬度,轉角等),完成分類。,決策判斷,普元,CEP,平臺架構,事件采集層,Agent,Agent,Agent,Agent,外部系統(tǒng),系統(tǒng),A,系統(tǒng),B,系統(tǒng),C,系統(tǒng),D,接入層,Input,Cluster,1n,分析
13、引擎,平臺,結果執(zhí)行層,規(guī)則庫,分析引擎,OSGi Based,分析引擎,OSGi Based,接入層,Output,Cluster,1n,分析規(guī)則開發(fā)(離線開發(fā),),規(guī)則開發(fā),IDE,(,Eclipse,Based),Action,Action,Action,Action,應用門戶,(,功能松耦合,),管理門戶,(,規(guī)則模板生命周期管理,),運維門戶,(,引擎,監(jiān)控、全局配置、自動化部署),業(yè)務門戶,(,規(guī)則實例業(yè)務參數(shù)配置,),分析集群運行環(huán)境,管理控制環(huán)境,普元,CEP,平臺特色,基于云計算,PaaS,架構,分布式集群管控框架,系統(tǒng)級,物理主機,/,虛擬機,管理,進程級,服務實例,管理,
14、集群配置,分析規(guī)則,熱更新,/,熱部署,與虛擬機鏡像結合,分析服務快速部署,與規(guī)則庫結合,規(guī)則插件快速部署,集群通知渠道,規(guī)則實例快速應用,自動化,、,圖形化運維,事件分析平臺,面向數(shù)據(jù)流,基于內存,內存狀態(tài)數(shù)據(jù)遷移,冷熱數(shù)據(jù)分離與恢復,集群規(guī)模水平伸縮,事件動態(tài)路由,分析規(guī)則,開發(fā)、管理與應用,規(guī)則模板開發(fā),IDE,事件元,數(shù)據(jù),類,SQL,規(guī)則語言,Action,元數(shù)據(jù),Web,規(guī)則實例配置與熱部署,Web,規(guī)則模板管理,分布式集群管控框架,Any OS,持久化集群,AMQP,MQ,集群,ZooKeeper,集群,Web,控制臺,(,無狀態(tài),多實例,),負載均衡,(Session Stic
15、ky),物理,/,邏輯拓撲,規(guī)則模板模板,狀態(tài),規(guī)則實例,監(jiān)控業(yè)務進程,(,過濾,/,聚合,),(Support ZKClient),ZK,Client,OS(Support NodeJS),監(jiān)控業(yè)務進程,(,過濾,/,聚合,),(unSupport ZKClient),Process Daemon,(NodeJS+ZKClient),OS,(unSupport NodeJS),監(jiān)控業(yè)務進程,(,過濾,/,聚合,),(unSupport ZKClient),Process Daemon,(Java+ZKClient),OS Agent,(NodeJS+ZKClient+MQClient),OS
16、 Agent,(NodeJS+ZKClient+MQClient),OS Agent,(,Java,+ZKClient+MQClient),管控服務,ZK,客戶端,DB,客戶端,MQ,客戶端,規(guī)則部署,與配置,場景,運維人員,Repository,業(yè)務,Console,業(yè)務人員,DB,CEP,Engine1,CEP,Engine2,CEP,Engine3,ZooKeeper,3.,下載規(guī)則的表單頁面,2.,保存規(guī)則到倉庫,運維,Console,4.,規(guī)則參數(shù)配置,5.,保存規(guī)則參數(shù)配置,6.,保存規(guī)則參數(shù)配置到,ZooKeeper,engine1,Rule1,Rule2,Rule3,engine2,Rule4,engines,7.,通知,Engine,1.,上傳規(guī)則部署包,8.,下載規(guī)則,2.,保存規(guī)則信息到,DB,接出層,分析,引擎,接入層,分析引擎,A,規(guī)則,實例,A,1,規(guī)則,實例,A2,規(guī)則,實例,An,規(guī)則,實例,A3,分析引擎,B,事件路由,1,事件路由,p,事件路由,事件去重,1,事件去重,q,事件去,重,NoSQL,負載均衡(可選),事件輸入,事件輸出,集群管理,MQ,