《大数据分析关键技术概述.pptx》由会员分享,可在线阅读,更多相关《大数据分析关键技术概述.pptx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大数据分析关键技术培训专用概述即席查询批量处理流式计算培训专用大数据计算分析模式分类即席查询Ad-Hoc Query批量处理Batch ProcessingMap/Reduce流式计算Stream Computing数据承载响应时间适用场景磁盘秒级(准实时)自然人交互式经营分析磁盘分钟级至小时级(准实时)事前/事后大批量数据处理内存(事件窗口非全量数据)秒级(实时)实时事件分析实时风险干预针对不同的业务领域,需要采用不同的数据计算分析方式,快速发现数据价值。培训专用即席查询即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通
2、应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是用户自定义查询条件。即席查询StorageDistribute File SystemColumn DatabaseResource ManagementParallelCompute FrameworkSQL Syntax+Compute FrameworkSQL SyntaxMetaDataBatch ProcessingAd-Hoc Query实时性:高培训专用批量处理StorageDistribute File SystemColumn DatabaseResource ManagementParallelCompute Fr
3、ameworkSQL Syntax+Compute FrameworkSQL SyntaxMetaDataBatch ProcessingAd-Hoc QueryMapReduce是一种编程模型,用于大规模数据集的并行批量计算。概念Map和Reduce当前的主流实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保证所有映射的键值对中的每一个共享相同的键组。形成这种模型的原因是:数据的分布式存储、计算资源的分布式、并行计算减少计算时长。批量处理实时性:低培训专用流式计算流数据的实时计算注重对流数据的快速高效处理、计算和分析。其特点是计算过程数据不落地
4、,所有数据在内存中完成。其计算模型是根据规则生成容器,当数据流经过容器时,实时产生分析结果。流式计算InputAdapterOutputAdapterEngine ClusterClusterManagementRule RepositoryNoSQL实时性:高培训专用概述即席查询批量处理流式计算培训专用Impala NodeImpala架构ImpaladQuery PlannerQuery CoordinatorQuery Exec EngineCommon HiveQL&InterfaceMetaDataSQLJDBCHive MetaStoreHDFS NNState StoreImpa
5、ladQuery PlannerQuery CoordinatorQuery Exec EngineImpaladQuery PlannerQuery CoordinatorQuery Exec EngineDataHDFS DNHBaseDataHDFS DNHBaseDataHDFS DNHBaseImpala NodeImpala NodeLocal Direct ReadsThrift培训专用Hive架构DataHDFS DNTask TrackerJob TrackerName NodeHadoopHive(Over Hadoop 0.20.X)SQLJDBCWUIThrift Se
6、rverDriver(Compiler,Optimizer,Executor)Meta StoreThriftServer:JDBC通过ThriftServer连接到Hive。ThriftServer连接MetaStore来读取hive的元数据信息。MetaStore:在关系型数据库中存放表/分区/列元数据,可以低延迟的快速的访问到需要的元数据信息。Driver/QueryCompiler/ExecutionEngine:客户端提交的HiveSQL首先进入Driver,然后Driver会为此次HiveSQL的执行创建一个Session,Driver维护整个session的生命周期。Driver
7、首先将HiveSQL传送给QueryCompiler,然后由QueryCompiler来对用户提交的HiveSQL进行编译/检查/优化并最终生成MapReduce任务。ExecutionEngine会与Hadoop进行交互,将 MapReduce任务交给Hadoop来执行,并从Hadoop取得最终的执行结果,并返回给用户。解析HiveSQL之后生成所MapReduce任务,在运行中访问元数据信息时,将直接读取生成的物理计划时产生的plan.xml,此文件会被放入Hadoop的分布式缓存中,MapReduce任务可以从分布式缓存中获得相应的元数据。培训专用Impala相对于Hive的优势Impa
8、la不需要把中间结果写入磁盘,省掉了大量的I/O开销。省掉了MapReduce作业启动的开销。MapReduce启动task的速度很慢(默认每个心跳间隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。Impala借鉴了MPP并行数据库的思想,可以做更多的查询优化,从而省掉不必要的shuffle、sort等开销。使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。用C+实现,做了很多有针对性的硬件优化。对外提供多语言API、多种访问协议。中间结果作业调度作业分发数据访问代码实现培训专用概述即席查询批量处理流
9、式计算培训专用MapReduce v0.23.x(YARN)Node ManagerContainerApp MasterNode ManagerContainerApp MasterNode ManagerContainerResource ManagerClientClientJob SubmissionContainerMapReduce StatusResource RequestNode Status从 0.23.0 版本开始,Hadoop 的 MapReduce 框架完全重构。新的 Hadoop MapReduce 框架命名为 MapReduceV2YARN培训专用概述即席查询批量
10、处理流式计算Primeton CEPStorm培训专用流数据处理技术 对比 传统规则引擎(概念)维度流数据处理技术传统规则引擎处理方式“窗口模式”多维关联分析基于对属性的判断处理模型富状态无状态异常处理内存状态数据的自动化恢复服务无状态,数据重跑简单举例每种硬币各有多少个对硬币进行分类按时间区间、按长度区间、按时间与长度混合区间、按特有属性值等规则所建立起的对象集合,存放在内存中。若动画中,再对已分类的硬币进行自动打包,有两种方式:1.判断槽中的硬币数量,触发打包动作;2.判断槽中的硬币重量,触发打包动作;窗口模式如动画中对硬币的分拣动作:可以根据硬币的物理属性设计不同的判断规则(轨道宽度,转
11、角等),完成分类。决策判断培训专用普元CEP平台架构事件采集层AgentAgentAgentAgent外部系统系统A系统B系统C系统D接入层Input Cluster 1n分析引擎平台结果执行层规则库分析引擎OSGi Based分析引擎OSGi Based接入层Output Cluster 1n分析规则开发(离线开发)规则开发IDE(Eclipse Based)ActionActionActionAction应用门户(功能松耦合)管理门户(规则模板生命周期管理)运维门户(引擎监控、全局配置、自动化部署)业务门户(规则实例业务参数配置)分析集群运行环境管理控制环境培训专用普元CEP平台特色基于云
12、计算PaaS架构分布式集群管控框架系统级物理主机/虚拟机管理进程级服务实例管理集群配置分析规则热更新/热部署与虚拟机镜像结合分析服务快速部署与规则库结合规则插件快速部署集群通知渠道规则实例快速应用自动化、图形化运维事件分析平台面向数据流基于内存内存状态数据迁移冷热数据分离与恢复集群规模水平伸缩事件动态路由分析规则开发、管理与应用规则模板开发IDE事件元数据类SQL规则语言Action元数据Web规则实例配置与热部署Web规则模板管理培训专用分布式集群管控框架Any OS持久化集群AMQP MQ 集群ZooKeeper 集群Web 控制台(无状态,多实例)负载均衡(Session Sticky)
13、物理/逻辑拓扑规则模板模板状态规则实例监控业务进程(过滤/聚合)(Support ZKClient)ZK ClientOS(Support NodeJS)监控业务进程(过滤/聚合)(unSupport ZKClient)Process Daemon(NodeJS+ZKClient)OS(unSupport NodeJS)监控业务进程(过滤/聚合)(unSupport ZKClient)Process Daemon(Java+ZKClient)OS Agent(NodeJS+ZKClient+MQClient)OS Agent(NodeJS+ZKClient+MQClient)OS Agent(
14、Java+ZKClient+MQClient)管控服务ZK客户端DB客户端MQ客户端培训专用规则部署与配置场景运维人员Repository业务Console业务人员DBCEPEngine1CEPEngine2CEPEngine3ZooKeeper3.下载规则的表单页面2.保存规则到仓库运维Console4.规则参数配置5.保存规则参数配置6.保存规则参数配置到ZooKeeperengine1Rule1Rule2Rule3engine2Rule4engines7.通知Engine1.上传规则部署包8.下载规则2.保存规则信息到DB培训专用接出层分析引擎接入层分析引擎A规则实例A1规则实例A2规则
15、实例An规则实例A3分析引擎B事件路由1事件路由p事件路由事件去重1事件去重q事件去重NoSQL负载均衡(可选)事件输入事件输出集群管理MQMQ事件分析规则1:n分析引擎实例n:1规则规则实例B1规则实例B2规则实例Bn规则实例B3普元CEP关键技术事件路由与去重多副本冗余增强可靠性培训专用分析引擎实例3实例4实例2普元CEP关键技术实例状态复制接出层接入层实例1实例A1实例A2异常实例A3事件路由事件去重事件输入事件输出实例A4新增场景说明实例A2异常实例A4新增ContextContextContextContext包括最终接收事件号状态对象关键步骤1从A1或A3中选择一个实例,如A3关键
16、步骤2将A3工作暂停,获得其Context此时A1正常工作,A2已经退出,A3暂停关键步骤3创建新的实例A4(未启动状态)将Context复制到A4中恢复A3的工作状态,启动A4关键点业务不中断事件去重完成对重复事件的过滤可靠性取决于集群内实例个数CCCD状态数据迁移与备份培训专用JVM普元CEP关键技术规则实例水平迁移内存规则数事件量JVM1分析引擎分析引擎事件大小容量预估模型规则实例m事件*状态*分布式集群管理框架规则实例n事件*状态*规则实例x事件*状态*NoSQL(MongoDB)JVM1规则实例m事件*状态*规则实例x事件*状态*JVM2规则实例x事件*状态*运行期实时监控系统容量扩
17、展培训专用普元CEP关键技术基于OSGi的规则部署包规则库目录结构和导出规则部署包的目录结构一致,方便部署和下载CEP Engine规则库的目录结构与console的规则库目录结构区别在于web目录。一个rule目录作为一个OSGi的bundlerulesJava packageclassesrule1.ruleepseps1.epslib3rd1.jarAction1.classExtFunc.classrule1eventSourceevent1.eventevent2.eventwebform1.jsprule2Listener1.classMETA-INFMANIFEST.MFexte
18、xtconfig1OSGiOSGi BundleBundle规则库规则库/部署包部署包规则模板热部署培训专用普元CEP 1.5平台(主机管理)培训专用普元CEP 1.5平台(集群管理)培训专用普元CEP 1.5平台(实例管理)培训专用普元CEP 1.5平台(规则模板管理)培训专用普元CEP 1.5平台(规则实例管理)培训专用普元CEP 1.5平台(状态监控)培训专用普元CEP 1.5平台(规则模板元数据)培训专用普元CEP 1.5平台(规则实例业务参数配置)培训专用普元CEP 1.5平台(规则包)培训专用概述即席查询批量处理流式计算Primeton CEPStorm培训专用Storm基本概念S
19、treamSpoutBoltStreaming GroupingTaskWork消息流,一个无尽的Tuple序列。Topology规则拓扑,由多个Spout和Bolt组成。消息发送器,区分可靠与不可靠。消息处理器,业务逻辑载体,多入多出。消息分组方式,数据进入Blot的策略。工作任务,可以是Spout或Blot。工作进程,当JVM且执行Topology的一部分。培训专用Storm集群组件主控节点运行一个被称为Nimbus的后台程序,它负责在Storm集群内分发代码,分配任务给工作机器,并且负责监控集群运行状态。工作节点运行一个被称为Supervisor的后台程序。Supervisor负责监听从
20、Nimbus分配给它执行的任务,并启动或停止执行任务的工作进程(Worker)。每一个工作进程(Worker)执行一个Topology的子集。Nimbus和Supervisor节点之间所有的协调工作是通过Zookeeper集群来实现的。此外,Nimbus和Supervisor进程都是无状态的。节点间信令ZooKeeper用ZeroMQ作为底层消息队列,使消息能快速被处理。数据传递ZeroMQ培训专用Storm可靠性原则保证每个Tuple被Topology完整执行。每个Tuple经过Spout/Blot后,形成一个消息树。消息树Emit通知新Tuple生成,Ack通知Tuple处理完毕。生命周期
21、超时每个Tuple都包含一个超时时间,超时后会进行重发。消息树跟踪对Topology中每个Tuple的唯一ID进行异或计算。每个Blot/Spout作为单独进程,内部包含状态数据。进程的异常退出将导致数据丢失。问题培训专用Storm 对比 Hadoop MRHadoop MRStorm主控节点JobTrackerNimbus工作节点TaskTrackerSupervisor工作容器ChildWorker规则JobTopology原语Map/ReduceSpout/Blot开发方式Java,etc.CodingJava,etc.Coding面向领域事前/事后分析事中准实时分析培训专用Storm
22、对比 普元CEP普元CEPStorm开发语言与环境EPL/Java,Eclipse IDEJava工作模式单节点、多节点级联分布式高可用方案多副本冗余+消息连续性保障消息树跟踪开发场景类SQL EPL开发数据源定义业务表单设计规则部署包导出精通Java开发人员的业务人员运维场景规则多版本管理OSGi代码热部署进程级、VM级资源池管理无业务参数配置Web图形化表单热更新命令行参数传递无法热更新培训专用谢谢!培训专用演讲完毕,谢谢观看!培训专用内容总结大数据分析关键技术。分钟级至小时级。其特点是计算过程数据不落地,所有数据在内存中完成。其计算模型是根据规则生成容器,当数据流经过容器时,实时产生分析
23、结果。(Compiler,Optimizer,Executor)。ThriftServer:JDBC通过ThriftServer连接到Hive。Driver首先将HiveSQL传送给QueryCompiler,然后由QueryCompiler来对用户提交的HiveSQL进行编译/检查/优化并最终生成MapReduce任务。ExecutionEngine会与Hadoop进行交互,将 MapReduce任务交给Hadoop来执行,并从Hadoop取得最终的执行结果,并返回给用户。MapReduce启动task的速度很慢(默认每个心跳间隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。MapReduce v0.23.x(YARN)。流数据处理技术 对比 传统规则引擎(概念)。分析规则开发(离线开发)。热更新/热部署。规则模板模板培训专用
限制150内