首页 > 其他分享 >大数据实时计算流程介绍​

大数据实时计算流程介绍​

时间:2022-10-25 19:02:08浏览次数:51  
标签:流程 数据仓库 实时 查询 引擎 计算 数据

     实时计算是常见的大数据计算场景。业务部门需要实时反馈产品的被点击、浏览、收藏、购买、评价等数据,对时延的要求一般是秒级,甚至毫秒级。而批处理计算引擎一般需要几分钟或者几小时才能返回结果,显然无法满足该场景的计算需求。基于实时计算的需求,流式计算引擎应运而生。目前,应用得较多的流式计算引擎主要有Spark、Storm和Flink。​

      典型的实时计算流程如下图所示,首先通过Flume实时采集数据,然后通过消息队列对采集的数据进行缓存,之后应用流式计算引擎实施计算,最后将计算的结果存储在高速的查询引擎中,以便后续高效地使用这些数据支持报表开发、多维分析或者数据挖掘等。​

大数据实时计算流程介绍​_计算引擎


一、实时计算和离线计算如何高效共存​

部分企业对实时计算和离线计算共存的需求十分迫切。大部分的报表和任务还是以离线计算为主,对实时要求较高的应用需要使用实时计算引擎。​

最直观的想法是分别为离线计算和实时计算场景搭建计算平台,让两套平台共存。这就是常说的Lambda架构的处理方式,如下图(1)所示。​

大数据实时计算流程介绍​_计算引擎_02


一个企业如果维护两套独立的计算平台,那么成本较高,运维难度大,且两个平台的数据准确性和一致性难以保障。如何高效地解决两套计算引擎共存的问题​

Kappa 流批一体化架构和处理方式能有效地解决两者高效共存的问题,其架构示意图如上图(2)所示。Kappa架构的核心组件是消息队列、数据仓库、流批一体化计算引擎和高效的查询引擎。目前,最流行的流批一体化计算引擎是Flink。​

二、实时数据仓库​

实时数据仓库与离线数据仓库最大的区别是通过使用消息队列、流批一体化计算引擎、查询引擎等工具让整个平台的计算和查询效率更高,以满足业务的实时需求。因此,实时数据仓库对计算能力要求更高。如果数据量短期陡然增加,那么要考虑实时数据仓库的性能和稳定性问题。相比之下,离线数据仓库对数据量的增加不太敏感,性能更加稳定。另外,从分层建模的角度来看,实时数据仓库的层级不宜太多,否则会增加响应的延时。下图是基于流批一体化计算引擎​

大数据实时计算流程介绍​_数据仓库_03


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存储。









标签:流程,数据仓库,实时,查询,引擎,计算,数据
From: https://blog.51cto.com/u_15735635/5795067

相关文章

  • 【计算机视觉(CV)】基于卷积神经网络实现美食分类
    【计算机视觉(CV)】基于卷积神经网络实现美食分类作者简介:在校大学生一枚,华为云享专家,阿里云星级博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实......
  • 大数据实时计算流程介绍
    实时计算是常见的大数据计算场景。业务部门需要实时反馈产品的被点击、浏览、收藏、购买、评价等数据,对时延的要求一般是秒级,甚至毫秒级。而批处理计算引擎一般需要几分钟......
  • 软件项目上线完整流程
    初入互联网行业的小伙伴可能对软件的发布流程很好奇,今天我们就来了解一下软件项目上线的完整流程.根据软件生命周期并结合当前企业的实际情况,企业中的具体流程如下,包......
  • 计算机视觉入门必读系列(一)欠拟合与过拟合总结
    ​ 前言 《从零搭建pytorch模型教程》系列完结了,准备开启一个新的系列,叫《入门必读系列》,但由于本人事情多到根本忙不完,这次决定改一改,不再由本人全部原创了,而是从公众......
  • ZUCC2020届计算机学生软件工程团队-“芯火优创”设计稿一稿
    软件工程第一组——“芯火优创”原型图展示具体的展示参见提交的原型图一稿数据流图展示部分数据流图(组员各自负责的模块)![02486fb1666536d008b625d70c37f6e](C:\U......
  • Spring MVC的执行流程
    SpringMVC的执行流程如下:用户点击某个请求路径,发起一个HTTPrequest请求,该请求会被提交到 DispatcherServlet(前端控制器);由DispatcherServlet 请求一个或多个Han......
  • 【DVHop】基于加权处理的无线传感器网络平均跳距离估计算法(W-DVHop)附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进。......
  • BZOJ 5334: [Tjoi2018]数学计算
    题目链接:​​传送门​​一眼看过去很简单的样子根节点维护线段树乘积每个叶节点对应每一个操作如果是2操作则该叶节点为1否则就是就是要乘的m/***@Date:2019-03-27T......
  • 计算机是怎样进行补码运算的
    以int类型为例第32位存储符号,0表示正,1表示负,后面31位表示数值部分,最大为2147483647(231-1);若最高位是0,则直接输出,若为1,则先输出负号,然后对数值取补码后输出。 (1)两个正数......
  • POJ 3575(计算几何与二分-无尽的小数处理)
    这题写了将近半个月……总是在D各种Bug总的说来-这题最难应该是在精度处理上11001这组数据过了就说明精度处理差不多了……Programkingdom;constmaxn=100;maxm=10......