大数据分析关键技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Input Adapter
NoSQL
Engine Cluster
Cluster Management
Rule Repository
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
Impala架构
SQL
JDBC
Common HiveQL & Interface
Hive MetaStore
HDFS NN
大数据分析关键技术
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
大数据计算分析模式分类
数据承载
响应时间
适用场景
即席查询 Ad-Hoc Query
批量处理 Batch Processing
Map/Reduce
流式计算 Stream Computing
磁盘
磁盘
内存 (事件窗口 非全量数据)
秒级 (准实时)
ZooKeeper
CEP Engine1
CEP Engine2
CEP Engine3
7. 通知Engine
engine2
Rule1 Rule2
Rule3 Rule4
普元CEP关键技术——事件路由与去重 多副本冗余增强可靠性
事件路由1
事件输入
负载均衡(可选)
事件路由…
事件路由p
规 则
接入层
MQ
集群管理 NoSQL
Agent
外部系统 系统A
系统B
系统C
系统D
管理控制环境
分析规则开发(离线开发)
规则开发IDE (Eclipse Based)
应用门户(功能松耦合) 管理门户
(规则模板生命周期管理)
运维门户
(引擎监控、全局配置、自动化部署)
业ቤተ መጻሕፍቲ ባይዱ门户
(规则实例业务参数配置)
普元CEP平台特色
分析规则 开发、管理与应用
Column Database
批量处理
实时性:低
批量处理 MapReduce是一种编程模型,用于大规模数据集的并行批量计算。概念Map和Reduce当前的主流
实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保 证所有映射的键值对中的每一个共享相同的键组。
• MetaStore:在关系型数据库中存放表 /分区/列元数据,可以低延迟的快速的 访问到需要的元数据信息。
• Driver/QueryCompiler/ExecutionEn gine:客户端提交的HiveSQL首先进入 Driver,然后Driver会为此次HiveSQL 的执行创建一个Session,Driver维护 整个session的生命周期。Driver首先 将HiveSQL传送给QueryCompiler, 然后由QueryCompiler来对用户提交 的HiveSQL进行编译/检查/优化并最终 生成MapReduce任务。
关键步骤3 • 创建新的实例A4(未启动状态) • 将Context复制到A4中 • 恢复A3的工作状态,启动A4
关键点 • 业务不中断 • 事件去重完成对重复事件的过滤 • 可靠性取决于集群内实例个数
普元CEP关键技术——规则实例水平迁移
系统容量扩展
容量 预估 模型
事件大小 事件量 规则数 分析引擎
Job Submission
MapReduce Status
Resource Request
Node Status
Node Manager Container App Master
Node Manager App Master Container
Node Manager
Container
Container
分钟级至小时级 (准实时)
秒级 (实时)
自然人交互式 经营分析
事前/事后 大批量数据处理
实时事件分析 实时风险干预
针对不同的业务领域,需要采用不同的数据计算分析方式,快速发现数据价值。
即席查询
实时性:高
即席查询
即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成 相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是用 户自定义查询条件。
Storage
Distribute File System
Column Database
流式计算
实时性:高
流式计算
流数据的实时计算注重对流数据的快速高效处理、计算和分析。其特点是计算过程数据不落地,所有 数据在内存中完成。其计算模型是根据规则生成容器,当数据流经过容器时,实时产生分析结果。
Output Adapter
普元CEP平台架构
分析集群运行环境
结果执行层 Action
Action
Action
Action
接入层
Output Cluster 1…n
分析引擎 平台
分析引擎 OSGi Based
…
分析引擎 OSGi Based
规则库
接入层
Input Cluster 1…n
事件采集层 Agent
Agent
Agent
事件分析平台
规则模板 开发IDE
事件元 数据
类SQL规 则语言
Action 元数据
Web规则 模板管理
Web规则 实例配置 与热部署
面向数据 流
基于内存
冷热数据 分离与恢
复
内存状态 数据迁移
集群规模 水平伸缩
事件动态 路由
自动化、图形化运维
基于云计算PaaS架构 分布式集群管控框架
与虚拟机镜像结合 分析服务快速部署
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
– Primeton CEP – Storm
流数据处理技术 对比 传统规则引擎(概念)
维度 处理方式 处理模型 异常处理 简单举例
流数据处理技术 “窗口模式”多维关联分析
富状态 内存状态数据的自动化恢复
每种硬币各有多少个
传统规则引擎 基于对属性的判断
规则
规则
规则
规则
实例A1 实例A2 实例A3 实例An
分析引擎A
规则 实例B1
规则 实例B2
规则 实例B3
规则 实例Bn
分析引擎B
MQ
分析 引擎
事件去重1
1:n
事件
事件去重…
事件输出 分析规则
事件去重q
n:1
分析引擎
实例
接出层
普元CEP关键技术——实例状态复制
状态数据迁移与备份
事件输入
场景说明 • 实例A2异常 • 实例A4新增
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
MapReduce v0.23.x (YARN)
从 0.23.0 版本开始,Hadoop 的 MapReduce 框架完全重构。
新的 Hadoop MapReduce 框架命名为 MapReduceV2——YARN
Client Client
Resource Manager
无状态 服务无状态,数据重跑
对硬币进行分类
决策判断
如动画中对硬币的分拣动作:可以根据硬币的物理属性 设计不同的判断规则(轨道宽度,转角等),完成分类。
窗口模式
按时间区间、按长度区间、按时间与长度混合区间、按 特有属性值等规则所建立起的对象集合,存放在内存中。
若动画中,再对已分类的硬币进行自动打包,有两种方 式:1. 判断槽中的硬币数量,触发打包动作;2. 判断槽中的 硬币重量,触发打包动作;
规则部署与配置场景
运维人员
1. 上传规则部署包
业务人员
4. 规则参数配置
运维Console
业务Console
2. 保存规则到 仓库
2’. 保存规则信 息到DB
DB
5. 保存规则 参数配置
8. 下载规则
Repository
3. 下载规则 的表单页面
6. 保存规则参数配 置到ZooKeeper
engines engine1
MetaData
State Store
Impalad
Query Planner Query Coordinator Query Exec Engine
Data
HDFS DN
HBase
Impala Node
Impalad
Query Planner Query Coordinator Query Exec Engine
Process Daemon (NodeJS+ZKClient)
监控业务进程(过滤/聚合) (unSupport ZKClient)
OS (Support NodeJS)
OS Agent
(NodeJS+ZKClient+MQClient)
ZK Client 监控业务进程(过滤/聚合) (Support ZKClient) Any OS
内存 JVM
运行期实时监控
事件* 状态* 规则实例m
JVM1 事件* 状态*
规则实例n
事件* 状态* 规则实例x
分布式 集群管理框架
Impala借鉴了MPP并行数据库的思想,可以做更多的查询优化,从而省掉不必要的 shuffle、sort等开销。
使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行, 减少了网络开销。
用C++实现,做了很多有针对性的硬件优化。对外提供多语言API、多种访问协议。
Thrift Server
Meta Store
Driver (Compiler, Optimizer, Executor)
Hive (Over Hadoop 0.20.X)
Job Tracker
Data
HDFS DN
Task Tracker
Name Node
Hadoop
• ThriftServer:JDBC通过ThriftServer 连接到Hive。ThriftServer连接 MetaStore来读取hive的元数据信息。
• ExecutionEngine会与Hadoop进行交 互,将 MapReduce任务交给Hadoop 来执行,并从Hadoop取得最终的执行 结果,并返回给用户。
解析HiveSQL之后生成所MapReduce 任务,在运行中访问元数据信息时,将直接 读取生成的物理计划时产生的plan.xml,此 文 件 会 被 放 入 Hadoop 的 分 布 式 缓 存 中 , , MapReduce任务可以从分布式缓存中获得相 应的元数据。
形成这种模型的原因是:数据的分布式存储、计算资源的分布式、并行计算减少计算时长。
Batch Processing
Ad-Hoc Query
Meta Data
SQL Syntax
Parallel Compute Framework
SQL Syntax+ Compute Framework
Resource Management
Meta Data
Batch Processing
Ad-Hoc Query
SQL Syntax
Parallel Compute Framework
SQL Syntax+ Compute Framework
Resource Management
Storage
Distribute File System
ZooKeeper 集群
状态
规则实例
OS Agent
(Java+ZKClient+MQClient)
Process Daemon (Java+ZKClient)
监控业务进程(过滤/聚合) (unSupport ZKClient)
OS (unSupport NodeJS)
OS Agent
(NodeJS+ZKClient+MQClient)
Impala相对于Hive的优势
中间结 果
作业调 度
作业分 发
数据访 问
代码实 现
Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销。
省掉了MapReduce作业启动的开销。MapReduce启动task的速度很慢(默认每个心跳间 隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。
系统级 物理主机/虚拟机
管理
与规则库结合 规则插件快速部署
进程级 服务实例
管理
集群通知渠道 规则实例快速应用
集群配置 分析规则 热更新/热部署
分布式集群管控框架
负载均衡 (Session Sticky)
MQ客户端
Web 控制台 (无状态, 多实例)
管控服务
DB客户端
ZK客户端
AMQP MQ 集群
物理/逻辑拓扑 规则模板模板 持久化集群
Data
HDFS DN
HBase
Impala Node
Impalad
Query Planner Query Coordinator Query Exec Engine
Data
HDFS DN
HBase
Impala Node
Local Direct Reads
Thrift
Hive架构
SQL
JDBC WUI
Context包括 • 最终接收事件号 • 状态对象
事件路由
接入层
关键步骤1 • 从A1或A3中选择一个实例,如A3
实例 A 1
Context
实例 A 2
异常
实例 A 3
Context
实例 A 4
新增
Context
分析引擎
C 实例1
C 实例2
C 实例3
D 实例4
事件去重
接出层
事件输出
关键步骤2 • 将A3工作暂停,获得其Context • 此时A1正常工作,A2已经退出,A3暂停
NoSQL
Engine Cluster
Cluster Management
Rule Repository
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
Impala架构
SQL
JDBC
Common HiveQL & Interface
Hive MetaStore
HDFS NN
大数据分析关键技术
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
大数据计算分析模式分类
数据承载
响应时间
适用场景
即席查询 Ad-Hoc Query
批量处理 Batch Processing
Map/Reduce
流式计算 Stream Computing
磁盘
磁盘
内存 (事件窗口 非全量数据)
秒级 (准实时)
ZooKeeper
CEP Engine1
CEP Engine2
CEP Engine3
7. 通知Engine
engine2
Rule1 Rule2
Rule3 Rule4
普元CEP关键技术——事件路由与去重 多副本冗余增强可靠性
事件路由1
事件输入
负载均衡(可选)
事件路由…
事件路由p
规 则
接入层
MQ
集群管理 NoSQL
Agent
外部系统 系统A
系统B
系统C
系统D
管理控制环境
分析规则开发(离线开发)
规则开发IDE (Eclipse Based)
应用门户(功能松耦合) 管理门户
(规则模板生命周期管理)
运维门户
(引擎监控、全局配置、自动化部署)
业ቤተ መጻሕፍቲ ባይዱ门户
(规则实例业务参数配置)
普元CEP平台特色
分析规则 开发、管理与应用
Column Database
批量处理
实时性:低
批量处理 MapReduce是一种编程模型,用于大规模数据集的并行批量计算。概念Map和Reduce当前的主流
实现是指定一个Map函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保 证所有映射的键值对中的每一个共享相同的键组。
• MetaStore:在关系型数据库中存放表 /分区/列元数据,可以低延迟的快速的 访问到需要的元数据信息。
• Driver/QueryCompiler/ExecutionEn gine:客户端提交的HiveSQL首先进入 Driver,然后Driver会为此次HiveSQL 的执行创建一个Session,Driver维护 整个session的生命周期。Driver首先 将HiveSQL传送给QueryCompiler, 然后由QueryCompiler来对用户提交 的HiveSQL进行编译/检查/优化并最终 生成MapReduce任务。
关键步骤3 • 创建新的实例A4(未启动状态) • 将Context复制到A4中 • 恢复A3的工作状态,启动A4
关键点 • 业务不中断 • 事件去重完成对重复事件的过滤 • 可靠性取决于集群内实例个数
普元CEP关键技术——规则实例水平迁移
系统容量扩展
容量 预估 模型
事件大小 事件量 规则数 分析引擎
Job Submission
MapReduce Status
Resource Request
Node Status
Node Manager Container App Master
Node Manager App Master Container
Node Manager
Container
Container
分钟级至小时级 (准实时)
秒级 (实时)
自然人交互式 经营分析
事前/事后 大批量数据处理
实时事件分析 实时风险干预
针对不同的业务领域,需要采用不同的数据计算分析方式,快速发现数据价值。
即席查询
实时性:高
即席查询
即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成 相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是用 户自定义查询条件。
Storage
Distribute File System
Column Database
流式计算
实时性:高
流式计算
流数据的实时计算注重对流数据的快速高效处理、计算和分析。其特点是计算过程数据不落地,所有 数据在内存中完成。其计算模型是根据规则生成容器,当数据流经过容器时,实时产生分析结果。
Output Adapter
普元CEP平台架构
分析集群运行环境
结果执行层 Action
Action
Action
Action
接入层
Output Cluster 1…n
分析引擎 平台
分析引擎 OSGi Based
…
分析引擎 OSGi Based
规则库
接入层
Input Cluster 1…n
事件采集层 Agent
Agent
Agent
事件分析平台
规则模板 开发IDE
事件元 数据
类SQL规 则语言
Action 元数据
Web规则 模板管理
Web规则 实例配置 与热部署
面向数据 流
基于内存
冷热数据 分离与恢
复
内存状态 数据迁移
集群规模 水平伸缩
事件动态 路由
自动化、图形化运维
基于云计算PaaS架构 分布式集群管控框架
与虚拟机镜像结合 分析服务快速部署
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
– Primeton CEP – Storm
流数据处理技术 对比 传统规则引擎(概念)
维度 处理方式 处理模型 异常处理 简单举例
流数据处理技术 “窗口模式”多维关联分析
富状态 内存状态数据的自动化恢复
每种硬币各有多少个
传统规则引擎 基于对属性的判断
规则
规则
规则
规则
实例A1 实例A2 实例A3 实例An
分析引擎A
规则 实例B1
规则 实例B2
规则 实例B3
规则 实例Bn
分析引擎B
MQ
分析 引擎
事件去重1
1:n
事件
事件去重…
事件输出 分析规则
事件去重q
n:1
分析引擎
实例
接出层
普元CEP关键技术——实例状态复制
状态数据迁移与备份
事件输入
场景说明 • 实例A2异常 • 实例A4新增
目录
• 概述 • 即席查询 • 批量处理 • 流式计算
MapReduce v0.23.x (YARN)
从 0.23.0 版本开始,Hadoop 的 MapReduce 框架完全重构。
新的 Hadoop MapReduce 框架命名为 MapReduceV2——YARN
Client Client
Resource Manager
无状态 服务无状态,数据重跑
对硬币进行分类
决策判断
如动画中对硬币的分拣动作:可以根据硬币的物理属性 设计不同的判断规则(轨道宽度,转角等),完成分类。
窗口模式
按时间区间、按长度区间、按时间与长度混合区间、按 特有属性值等规则所建立起的对象集合,存放在内存中。
若动画中,再对已分类的硬币进行自动打包,有两种方 式:1. 判断槽中的硬币数量,触发打包动作;2. 判断槽中的 硬币重量,触发打包动作;
规则部署与配置场景
运维人员
1. 上传规则部署包
业务人员
4. 规则参数配置
运维Console
业务Console
2. 保存规则到 仓库
2’. 保存规则信 息到DB
DB
5. 保存规则 参数配置
8. 下载规则
Repository
3. 下载规则 的表单页面
6. 保存规则参数配 置到ZooKeeper
engines engine1
MetaData
State Store
Impalad
Query Planner Query Coordinator Query Exec Engine
Data
HDFS DN
HBase
Impala Node
Impalad
Query Planner Query Coordinator Query Exec Engine
Process Daemon (NodeJS+ZKClient)
监控业务进程(过滤/聚合) (unSupport ZKClient)
OS (Support NodeJS)
OS Agent
(NodeJS+ZKClient+MQClient)
ZK Client 监控业务进程(过滤/聚合) (Support ZKClient) Any OS
内存 JVM
运行期实时监控
事件* 状态* 规则实例m
JVM1 事件* 状态*
规则实例n
事件* 状态* 规则实例x
分布式 集群管理框架
Impala借鉴了MPP并行数据库的思想,可以做更多的查询优化,从而省掉不必要的 shuffle、sort等开销。
使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行, 减少了网络开销。
用C++实现,做了很多有针对性的硬件优化。对外提供多语言API、多种访问协议。
Thrift Server
Meta Store
Driver (Compiler, Optimizer, Executor)
Hive (Over Hadoop 0.20.X)
Job Tracker
Data
HDFS DN
Task Tracker
Name Node
Hadoop
• ThriftServer:JDBC通过ThriftServer 连接到Hive。ThriftServer连接 MetaStore来读取hive的元数据信息。
• ExecutionEngine会与Hadoop进行交 互,将 MapReduce任务交给Hadoop 来执行,并从Hadoop取得最终的执行 结果,并返回给用户。
解析HiveSQL之后生成所MapReduce 任务,在运行中访问元数据信息时,将直接 读取生成的物理计划时产生的plan.xml,此 文 件 会 被 放 入 Hadoop 的 分 布 式 缓 存 中 , , MapReduce任务可以从分布式缓存中获得相 应的元数据。
形成这种模型的原因是:数据的分布式存储、计算资源的分布式、并行计算减少计算时长。
Batch Processing
Ad-Hoc Query
Meta Data
SQL Syntax
Parallel Compute Framework
SQL Syntax+ Compute Framework
Resource Management
Meta Data
Batch Processing
Ad-Hoc Query
SQL Syntax
Parallel Compute Framework
SQL Syntax+ Compute Framework
Resource Management
Storage
Distribute File System
ZooKeeper 集群
状态
规则实例
OS Agent
(Java+ZKClient+MQClient)
Process Daemon (Java+ZKClient)
监控业务进程(过滤/聚合) (unSupport ZKClient)
OS (unSupport NodeJS)
OS Agent
(NodeJS+ZKClient+MQClient)
Impala相对于Hive的优势
中间结 果
作业调 度
作业分 发
数据访 问
代码实 现
Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销。
省掉了MapReduce作业启动的开销。MapReduce启动task的速度很慢(默认每个心跳间 隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。
系统级 物理主机/虚拟机
管理
与规则库结合 规则插件快速部署
进程级 服务实例
管理
集群通知渠道 规则实例快速应用
集群配置 分析规则 热更新/热部署
分布式集群管控框架
负载均衡 (Session Sticky)
MQ客户端
Web 控制台 (无状态, 多实例)
管控服务
DB客户端
ZK客户端
AMQP MQ 集群
物理/逻辑拓扑 规则模板模板 持久化集群
Data
HDFS DN
HBase
Impala Node
Impalad
Query Planner Query Coordinator Query Exec Engine
Data
HDFS DN
HBase
Impala Node
Local Direct Reads
Thrift
Hive架构
SQL
JDBC WUI
Context包括 • 最终接收事件号 • 状态对象
事件路由
接入层
关键步骤1 • 从A1或A3中选择一个实例,如A3
实例 A 1
Context
实例 A 2
异常
实例 A 3
Context
实例 A 4
新增
Context
分析引擎
C 实例1
C 实例2
C 实例3
D 实例4
事件去重
接出层
事件输出
关键步骤2 • 将A3工作暂停,获得其Context • 此时A1正常工作,A2已经退出,A3暂停