大数据分析关键技术38

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

大数据分析关键技术目录•概述•即席查询•批量处理•流式计算大数据计算分析模式分类即席查询Ad-HocQuery批量处理BatchProcessingMap/Reduce流式计算StreamComputing数据承载响应时间适用场景磁盘秒级(准实时)自然人交互式经营分析磁盘分钟级至小时级(准实时)事前/事后大批量数据处理内存(事件窗口非全量数据)秒级(实时)实时事件分析实时风险干预针对不同的业务领域,需要采用不同的数据计算分析方式,快速发现数据价值。即席查询即席查询(AdHoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是用户自定义查询条件。即席查询StorageDistributeFileSystemColumnDatabaseResourceManagementParallelComputeFrameworkSQLSyntax+ComputeFrameworkSQLSyntaxMetaDataBatchProcessingAd-HocQuery实时性:高批量处理StorageDistributeFileSystemColumnDatabaseResourceManagementParallelComputeFrameworkSQLSyntax+ComputeFrameworkSQLSyntaxMetaDataBatchProcessingAd-HocQueryMapReduce是一种编程模型,用于大规模数据集的并行批量计算。概念Map和Reduce当前的主流实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保证所有映射的键值对中的每一个共享相同的键组。形成这种模型的原因是:数据的分布式存储、计算资源的分布式、并行计算减少计算时长。批量处理实时性:低流式计算流数据的实时计算注重对流数据的快速高效处理、计算和分析。其特点是计算过程数据不落地,所有数据在内存中完成。其计算模型是根据规则生成容器,当数据流经过容器时,实时产生分析结果。流式计算InputAdapterOutputAdapterEngineClusterClusterManagementRuleRepositoryNoSQL实时性:高目录•概述•即席查询•批量处理•流式计算ImpalaNodeImpala架构ImpaladQueryPlannerQueryCoordinatorQueryExecEngineCommonHiveQL&InterfaceMetaDataSQLJDBCHiveMetaStoreHDFSNNStateStoreImpaladQueryPlannerQueryCoordinatorQueryExecEngineImpaladQueryPlannerQueryCoordinatorQueryExecEngineDataHDFSDNHBaseDataHDFSDNHBaseDataHDFSDNHBaseImpalaNodeImpalaNodeLocalDirectReadsThriftHive架构DataHDFSDNTaskTrackerJobTrackerNameNodeHadoopHive(OverHadoop0.20.X)SQLJDBCWUIThriftServerDriver(Compiler,Optimizer,Executor)MetaStore•ThriftServer:JDBC通过ThriftServer连接到Hive。ThriftServer连接MetaStore来读取hive的元数据信息。•MetaStore:在关系型数据库中存放表/分区/列元数据,可以低延迟的快速的访问到需要的元数据信息。•Driver/QueryCompiler/ExecutionEngine:客户端提交的HiveSQL首先进入Driver,然后Driver会为此次HiveSQL的执行创建一个Session,Driver维护整个session的生命周期。Driver首先将HiveSQL传送给QueryCompiler,然后由QueryCompiler来对用户提交的HiveSQL进行编译/检查/优化并最终生成MapReduce任务。•ExecutionEngine会与Hadoop进行交互,将MapReduce任务交给Hadoop来执行,并从Hadoop取得最终的执行结果,并返回给用户。解析HiveSQL之后生成所MapReduce任务,在运行中访问元数据信息时,将直接读取生成的物理计划时产生的plan.xml,此文件会被放入Hadoop的分布式缓存中,,MapReduce任务可以从分布式缓存中获得相应的元数据。Impala相对于Hive的优势Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销。省掉了MapReduce作业启动的开销。MapReduce启动task的速度很慢(默认每个心跳间隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。Impala借鉴了MPP并行数据库的思想,可以做更多的查询优化,从而省掉不必要的shuffle、sort等开销。使用了支持Datalocality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。用C++实现,做了很多有针对性的硬件优化。对外提供多语言API、多种访问协议。中间结果作业调度作业分发数据访问代码实现目录•概述•即席查询•批量处理•流式计算MapReducev0.23.x(YARN)NodeManagerContainerAppMasterNodeManagerContainerAppMasterNodeManagerContainerResourceManagerClientClientJobSubmissionContainerMapReduceStatusResourceRequestNodeStatus从0.23.0版本开始,Hadoop的MapReduce框架完全重构。新的HadoopMapReduce框架命名为MapReduceV2——YARN目录•概述•即席查询•批量处理•流式计算–PrimetonCEP–Storm流数据处理技术对比传统规则引擎(概念)维度流数据处理技术传统规则引擎处理方式“窗口模式”多维关联分析基于对属性的判断处理模型富状态无状态异常处理内存状态数据的自动化恢复服务无状态,数据重跑简单举例每种硬币各有多少个对硬币进行分类按时间区间、按长度区间、按时间与长度混合区间、按特有属性值等规则所建立起的对象集合,存放在内存中。若动画中,再对已分类的硬币进行自动打包,有两种方式:1.判断槽中的硬币数量,触发打包动作;2.判断槽中的硬币重量,触发打包动作;窗口模式如动画中对硬币的分拣动作:可以根据硬币的物理属性设计不同的判断规则(轨道宽度,转角等),完成分类。决策判断普元CEP平台架构事件采集层AgentAgentAgentAgent外部系统系统A系统B系统C系统D接入层InputCluster1…n分析引擎平台结果执行层规则库分析引擎OSGiBased…分析引擎OSGiBased接入层OutputCluster1…n分析规则开发(离线开发)规则开发IDE(EclipseBased)ActionActionActionAction应用门户(功能松耦合)管理门户(规则模板生命周期管理)运维门户(引擎监控、全局配置、自动化部署)业务门户(规则实例业务参数配置)分析集群运行环境管理控制环境普元CEP平台特色基于云计算PaaS架构分布式集群管控框架系统级物理主机/虚拟机管理进程级服务实例管理集群配置分析规则热更新/热部署与虚拟机镜像结合分析服务快速部署与规则库结合规则插件快速部署集群通知渠道规则实例快速应用自动化、图形化运维事件分析平台面向数据流基于内存内存状态数据迁移冷热数据分离与恢复集群规模水平伸缩事件动态路由分析规则开发、管理与应用规则模板开发IDE事件元数据类SQL规则语言Action元数据Web规则实例配置与热部署Web规则模板管理分布式集群管控框架AnyOS持久化集群AMQPMQ集群ZooKeeper集群Web控制台(无状态,多实例)负载均衡(SessionSticky)物理/逻辑拓扑规则模板模板状态规则实例监控业务进程(过滤/聚合)(SupportZKClient)ZKClientOS(SupportNodeJS)监控业务进程(过滤/聚合)(unSupportZKClient)ProcessDaemon(NodeJS+ZKClient)OS(unSupportNodeJS)监控业务进程(过滤/聚合)(unSupportZKClient)ProcessDaemon(Java+ZKClient)OSAgent(NodeJS+ZKClient+MQClient)OSAgent(NodeJS+ZKClient+MQClient)OSAgent(Java+ZKClient+MQClient)管控服务ZK客户端DB客户端MQ客户端规则部署与配置场景运维人员Repository业务Console业务人员DBCEPEngine1CEPEngine2CEPEngine3ZooKeeper3.下载规则的表单页面2.保存规则到仓库运维Console4.规则参数配置5.保存规则参数配置6.保存规则参数配置到ZooKeeperengine1Rule1Rule2Rule3engine2Rule4engines7.通知Engine1.上传规则部署包8.下载规则2’.保存规则信息到DB接出层分析引擎接入层分析引擎A规则实例A1规则实例A2规则实例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关键步骤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事件*状态*运行期实时监控系统容量扩展普元CEP关键技术——基于OSGi的规则部署包•规则库目录结构和导出规则部署包的目录结构一致,方便部署和下载•CEPEngine规则库的目录结构与console的规则库目录结构区别在于web目录。•一个rule目录作为一个OSGi的bundlerulesJavapackageclassesrule1.ruleepseps1.epslib3rd1.jarAction1.classExtFunc.classrule1eventSourceevent1.eventevent2.eventwebform1.jsprule2Listener1.classMETA-INFMANIFEST.MFextextconfig1OSGiBundle规则库/部署包规则模板热部署

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功