大数据实时计算流程介绍
实时计算是常见的大数据计算场景。业务部门需要实时反馈产品的被点击、浏览、收藏、购买、评价等数据,对时延的要求一般是秒级,甚至毫秒级。而批处理计算引擎一般需要几分钟或者几小时才能返回结果,显然无法满足该场景的计算需求。基于实时计算的需求,流式计算引擎应运而生。目前,应用得较多的流式计算引擎主要有Spark、Storm和Flink。
典型的实时计算流程如下图所示,首先通过Flume实时采集数据,然后通过消息队列对采集的数据进行缓存,之后应用流式计算引擎实施计算,最后将计算的结果存储在高速的查询引擎中,以便后续高效地使用这些数据支持报表开发、多维分析或者数据挖掘等。
一、实时计算和离线计算如何高效共存
部分企业对实时计算和离线计算共存的需求十分迫切。大部分的报表和任务还是以离线计算为主,对实时要求较高的应用需要使用实时计算引擎。
最直观的想法是分别为离线计算和实时计算场景搭建计算平台,让两套平台共存。这就是常说的Lambda架构的处理方式,如下图(1)所示。
一个企业如果维护两套独立的计算平台,那么成本较高,运维难度大,且两个平台的数据准确性和一致性难以保障。如何高效地解决两套计算引擎共存的问题
Kappa 流批一体化架构和处理方式能有效地解决两者高效共存的问题,其架构示意图如上图(2)所示。Kappa架构的核心组件是消息队列、数据仓库、流批一体化计算引擎和高效的查询引擎。目前,最流行的流批一体化计算引擎是Flink。
二、实时数据仓库
实时数据仓库与离线数据仓库最大的区别是通过使用消息队列、流批一体化计算引擎、查询引擎等工具让整个平台的计算和查询效率更高,以满足业务的实时需求。因此,实时数据仓库对计算能力要求更高。如果数据量短期陡然增加,那么要考虑实时数据仓库的性能和稳定性问题。相比之下,离线数据仓库对数据量的增加不太敏感,性能更加稳定。另外,从分层建模的角度来看,实时数据仓库的层级不宜太多,否则会增加响应的延时。下图是基于流批一体化计算引擎 Flink 的实时数据仓库的分层框架和技术选型。
1.ODS层
从数据源中抽取贴源数据并将其存储在Kafka中,构成了实时数据仓库的ODS层。
2.DWD层
通过实时订阅Kafka中的流式业务数据,利用Flink计算引擎进行ETL、清洗、聚合、多表关联等操作,得到实时的明细数据,并将其存储在Kafka中。
3.DWS层
通过Flink计算引擎对DWD层的明细数据进行聚合和汇总操作,得到DWS层。基于业务差异化的需求,DWS层分为轻度汇总层和高度汇总层。轻度汇总层的主要用途是支持APP层的应用需求。高度汇总层的主要用途是满足业务对统计数据的高效查询需求,如实时大屏、数据产品等。
4.APP层
基于业务的差异化需求,轻度汇总层会采用不同的存储介质。比如,OLAP需求一般存储在ClickHouse或者Kylin中。查询需求一般存储在Elasticsearch、HBase或MongoDB中。高度汇总层的数据量一般较小,为了满足高效的查询需求,数据一般存储在高速查询的介质中,如MySQL 和HBase中。如果数据量更小,那么数据可以存储在内存数据库Redis 中,以便进一步提高查询效率。
APP 层是数据应用层,基于下面各层的数据开发各种应用,如BI、多维分析、及时查询、数据检索、定价、反欺诈等。
5.DIM 层
DIM 层的主要存储引擎是MySQL、Redis和HBase。在数据量比较小的情况下,可以使用内存数据库,效率更高。HBase能有效地支持添加(Append) 操作, 查询结果以秒级别返回。对于维度多变的场景, 可以有限地使用HBase存储。
大数据实时计算流程介绍相关推荐
- Flink大数据实时计算系列-Flink写出多个parquet小文件处理方法、Presto的介绍与使用场景
Flink大数据实时计算系列-Flink写出多个parquet小文件处理方法.Presto的介绍与使用场景 Presto的安装与使用 目录 Flink写出多个parquet小文件处理方法 Presto ...
- Flink大数据实时计算系列-列式存储parquet文件格式介绍、Flink进行rowformat格式文件保存
Flink大数据实时计算系列-列式存储parquet文件格式介绍 Flink进行rowformat格式文件保存 列式存储parquet文件格式介绍
- Flink大数据实时计算系列-Flink的state介绍、Flink丰富的状态访问、Flink状态的分类
Flink大数据实时计算系列-Flink的state介绍.Flink丰富的状态访问.Flink状态的分类 目录 Flink的state介绍 Flink丰富的状态访问 Flink状态的分类 Flink参 ...
- 1. 大数据实时计算介绍
Spark Streaming,其实就是一种Spark提供的,对于大数据,进行实时计算的一种框架.它的底层,其实,也是基于我们之前讲解的Spark Core的.基本的计算模型,还是基于内存的大数据实时 ...
- 【大数据实时计算框架】Storm框架
一.大数据实时计算框架 1.什么是实时计算?流式计算? (一)什么是Storm? Storm为分布式实时计算提供了一组通用原语,可被用于"流处理"之中,实时处理消息并更新数据库.这 ...
- 大数据实时计算工程师/Hadoop工程师/数据分析师职业路线图
大数据实时计算工程师/Hadoop工程师/数据分析师职业路线图 http://edu.51cto.com/roadmap/view/id-29.html http://my.oschina.net/i ...
- 接近淘宝 80%的大数据实时计算平台,从0搭建的经验和坑
上周一,来自武汉的直播平台斗鱼TV宣布C轮融资,腾讯领投的 15 亿人民币,距其获得 B 轮1亿美元不到半年,也是大写的牛逼. 但小寻更关心他们的大数据架构,作为一个在 2 年多时间里崛起的公司,其流 ...
- .NET 大数据实时计算--学习笔记
摘要 纯 .Net 自研大数据实时计算平台,在中通快递服务数百亿包裹,处理数据万亿计!将分享大数据如何落地以及设计思路,技术重难点. 目录 背景介绍 计算平台架构 项目实战 背景介绍 计算平台架构 分 ...
- Flink大数据实时计算系列-案例初体验:HotPages
Flink大数据实时计算系列-案例初体验:HotPages 目录 HotPages代码 输入日志 运行结果 HotPages代码 /*** Copyright (c) 2018-2028 尚硅谷 Al ...
最新文章
- 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解(转)
- Google又放大招:高效实时实现视频目标检测 | 技术头条
- 复解析蕴含不可延拓性
- 与NWBC相关的服务器端配置
- Java 8 (10) CompletableFuture:组合式异步编程
- csc.exe的环境变量设置
- linux安装ffmpeg版本太多,Linux安装FFmpeg的方法
- 拟态防御_纯素食汉堡的拟态
- Android应用的安全的攻防之战
- 100个经典的C语言算法
- 使用函数进行邮件发送的示例
- jQuery UI DatepickerDatetimepicker添加 时-分-秒 并且,判断
- 7z增量更新参数使用
- AFURLRequestSerialization
- 油猴脚本(tampermonkey)推荐与下载
- 学生成绩管理系统 需求规格说明书
- 闽南理工学院教务网络管理系统所有服务器,闽南理工学院教务管理网络系统登录入口 http://222.77.99.244:8094/jwweb/,精英高考网...
- 20年磨一剑,南京大学周志华团队出版专著总结演化学习引领性研究(再次送书)...
- 【条形码识别】条形码中数字的识别的matlab仿真
- ps怎么加底部阴影_PS三分钟之如何在PS中给物体添加阴影