基于Flink和StarRocks的实时数据分析处理方法、系统及存储介质技术方案

技术编号:38890223 阅读:28 留言:0更新日期:2023-09-22 14:15
本发明专利技术属于数据仓库技术领域,具体公开了基于Flink和StarRocks的实时数据分析处理方法、系统及存储介质,通过Flink进行流式业务数据的解析处理,并基于Flink SQL语句进行流表数据与相应维表数据的聚合关联,再将聚合后的数据入库到StarRocks中,最后根据前端的查询需求对相应任务处理过程及StarRocks库数据进行可视化分析展示,可以实现更简单、高效、精准的多源业务数据实时关联分析处理。本发明专利技术基于开源的Flink和StarRocks进行实时数据分析处理,可以有效的降低实时数据开发的准入门槛,降低维护成本、服务器成本以及技术和运维复杂度,保证数据的采集时效性和准确性,提供急速稳定的分析查询能力,适用于各种业务分析场景。景。景。

【技术实现步骤摘要】
基于Flink和StarRocks的实时数据分析处理方法、系统及存储介质


[0001]本专利技术属于数据仓库
,具体涉及基于Flink和StarRocks的实时数据分析处理方法、系统及存储介质。

技术介绍

[0002]在当前金融环境下,对于相应业务数据的重视程度越来越高,实时技术也在不断演进,从时效性来讲,对于小时级或者分钟级的计算已经不能满足客户业务的演进需求,逐渐从时窗驱动升级到事件驱动,甚至每产生一条新数据,都想尽快看到数据,数据仓库处理过程也从离线或者微批的过程变为Flink擅长的实时流式处理。在数据源上,单一数据源整体的数据表现力较差,当下人们不仅希望能对单一数据流进行分析计算,还希望能联合多个数据源进行多流计算,为此尽一切办法,来让数据的表现力更加丰富。由于历史数据的积累,业务规模的不断扩大,日益增长的数据分析需求,对实时风险的分析引擎提出较高要求。传统金融行业都有自己的关系型数据库,但都应用于核心业务,因此都会部署大数据集群,运用大数据解决方案来实现自己的数据分析。
[0003]多种数据库共存的方式来存储和分析不同金融业务场景的数据,数据处理及加工维护困难;因数据处理引擎的不同,需要运维人员和技术人员掌握多种技术的功能代码来实现,学习成本高;多数据源如果要实现数据的关联分析,程序的复杂度极高,甚至无法进行关联实现;且由于历史数据的积累、业务规模不断扩大,现有的实时金融数据分析加工时间过长,无法满足业务功能需具备实时性要求,数据写入延迟,数据积压严重;同时,多数逻辑所使用存储过程方式进行逻辑加工,功能复杂,因此部分业务数据在改造过程中以及迁移到流处理过程中需要原业务人员参与,处理效率很低。

技术实现思路

[0004]本专利技术的目的是提供基于Flink和StarRocks的实时数据分析处理方法、系统及存储介质,用以解决现有技术中存在的上述问题。
[0005]为了实现上述目的,本专利技术采用以下技术方案:
[0006]第一方面,提供基于Flink和StarRocks的实时数据分析处理方法,包括:
[0007]采集上游的业务原始数据,并将采集到的业务原始数据存储到Kafka消息队列中;
[0008]采用Flink对消息队列中的业务原始数据进行流式数据解析,得到实时明细数据,并将实时明细数据存储到Kafka消息队列中;
[0009]获取流任务平台的实时任务,所述实时任务包含若干第一Flink SQL语句;
[0010]根据实时任务在StarRocks数据库中创建第一明细表、第一临时表、第一维度表和第一结果表,将Kafka消息队列中的实时明细数据实时的写入第一明细表,并将第一明细表中的实时明细数据根据设定的分类指标实时汇总到第一临时表中,得到汇总后的第一临时表,所述第一维度表中包含设定的第一维度数据;
[0011]根据实时任务将汇总后的第一临时表与第一维度表进行关联聚合,得到关联聚合后的第一结果数据;
[0012]根据实时任务将关联聚合后的第一结果数据写入第一结果表中;
[0013]获取前端的第一查询指令,根据第一查询指令对实时任务的执行情况以及第一结果表中写入的第一结果数据进行可视化分析展示。
[0014]在一个可能的设计中,所述方法还包括:
[0015]获取批任务平台的批微同步任务,所述批微同步任务包含若干第二Flink SQL语句;
[0016]根据批微同步任务在StarRocks数据库中创建第二明细表、第二临时表、第二维度表和第二结果表,将Kafka消息队列中的实时明细数据按设定时间间隔或设定数据量批量同步写入第二明细表,并将第二明细表中的实时明细数据根据设定的分类指标汇总到第二临时表中,得到汇总后的第二临时表,所述第二维度表中包含设定的第二维度数据;
[0017]根据批微同步任务将汇总后的第二临时表与第二维度表进行关联聚合,得到关联聚合后的第二结果数据;
[0018]根据批微同步任务将聚合后的第二结果数据写入第二结果表中;
[0019]获取前端的第二查询指令,根据第二查询指令对批微同步任务的执行情况以及第二结果表中写入的第二结果数据进行可视化分析展示。
[0020]在一个可能的设计中,所述业务原始数据包括通过第三方接口获取的外部业务原始数据、本地数据库存储的内部业务原始数据以及通过爬虫在相应网站抓取的爬虫业务原始数据。
[0021]在一个可能的设计中,所述采用Flink对消息队列中的业务原始数据进行流式数据解析,得到实时明细数据,包括:采用Flink对消息队列中实时的业务原始数据进行格式化解析,得到设定格式数据,并从设定格式数据中提取出实时明细数据。
[0022]在一个可能的设计中,所述根据实时任务将汇总后的第一临时表与第一维度表进行关联聚合,得到关联聚合后的第一结果数据,包括:根据实时任务将第一临时表中的相应数据参照第一维度表中的第一维度数据进行数据清洗,以及将第一临时表中的相应数据与第一维度表中的第一维度数据进行join关联,得到关联聚合后的第一结果数据。
[0023]在一个可能的设计中,所述根据批微同步任务将汇总后的第二临时表与第二维度表进行关联聚合,得到关联聚合后的第二结果数据,包括:根据批微同步任务将第二临时表中的相应数据参照第二维度表中的第二维度数据进行数据清洗,以及将第二临时表中的相应数据与第二维度表中的第二维度数据进行join关联,得到关联聚合后的第二结果数据。
[0024]第二方面,提供基于Flink和StarRocks的实时数据分析处理系统,包括采集单元、解析单元、获取单元、构建单元、聚合单元、录入单元和查询单元,其中:
[0025]采集单元,用于采集上游的业务原始数据,并将采集到的业务原始数据存储到Kafka消息队列中;
[0026]解析单元,用于采用Flink对消息队列中的业务原始数据进行流式数据解析,得到实时明细数据,并将实时明细数据存储到Kafka消息队列中;
[0027]获取单元,用于获取流任务平台的实时任务,所述实时任务包含若干第一Flink SQL语句;
[0028]构建单元,用于根据实时任务在StarRocks数据库中创建第一明细表、第一临时表、第一维度表和第一结果表,将Kafka消息队列中的实时明细数据实时的写入第一明细表,并将第一明细表中的实时明细数据根据设定的分类指标实时汇总到第一临时表中,得到汇总后的第一临时表,所述第一维度表中包含设定的第一维度数据;
[0029]聚合单元,用于根据实时任务将汇总后的第一临时表与第一维度表进行关联聚合,得到关联聚合后的第一结果数据;
[0030]录入单元,用于根据实时任务将关联聚合后的第一结果数据写入第一结果表中;
[0031]查询单元,用于获取前端的第一查询指令,根据第一查询指令对实时任务的执行情况以及第一结果表中写入的第一结果数据进行可视化分析展示。
[0032]在一个可能的设计中,所述获取单元还用于获取批任务平台的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于Flink和StarRocks的实时数据分析处理方法,其特征在于,包括:采集上游的业务原始数据,并将采集到的业务原始数据存储到Kafka消息队列中;采用Flink对消息队列中的业务原始数据进行流式数据解析,得到实时明细数据,并将实时明细数据存储到Kafka消息队列中;获取流任务平台的实时任务,所述实时任务包含若干第一Flink SQL语句;根据实时任务在StarRocks数据库中创建第一明细表、第一临时表、第一维度表和第一结果表,将Kafka消息队列中的实时明细数据实时的写入第一明细表,并将第一明细表中的实时明细数据根据设定的分类指标实时汇总到第一临时表中,得到汇总后的第一临时表,所述第一维度表中包含设定的第一维度数据;根据实时任务将汇总后的第一临时表与第一维度表进行关联聚合,得到关联聚合后的第一结果数据;根据实时任务将关联聚合后的第一结果数据写入第一结果表中;获取前端的第一查询指令,根据第一查询指令对实时任务的执行情况以及第一结果表中写入的第一结果数据进行可视化分析展示。2.根据权利要求1所述的基于Flink和StarRocks的实时数据分析处理方法,其特征在于,所述方法还包括:获取批任务平台的批微同步任务,所述批微同步任务包含若干第二Flink SQL语句;根据批微同步任务在StarRocks数据库中创建第二明细表、第二临时表、第二维度表和第二结果表,将Kafka消息队列中的实时明细数据按设定时间间隔或设定数据量批量同步写入第二明细表,并将第二明细表中的实时明细数据根据设定的分类指标汇总到第二临时表中,得到汇总后的第二临时表,所述第二维度表中包含设定的第二维度数据;根据批微同步任务将汇总后的第二临时表与第二维度表进行关联聚合,得到关联聚合后的第二结果数据;根据批微同步任务将聚合后的第二结果数据写入第二结果表中;获取前端的第二查询指令,根据第二查询指令对批微同步任务的执行情况以及第二结果表中写入的第二结果数据进行可视化分析展示。3.根据权利要求1所述的基于Flink和StarRocks的实时数据分析处理方法,其特征在于,所述业务原始数据包括通过第三方接口获取的外部业务原始数据、本地数据库存储的内部业务原始数据以及通过爬虫在相应网站抓取的爬虫业务原始数据。4.根据权利要求1所述的基于Flink和StarRocks的实时数据分析处理方法,其特征在于,所述采用Flink对消息队列中的业务原始数据进行流式数据解析,得到实时明细数据,包括:采用Flink对消息队列中实时的业务原始数据进行格式化解析,得到设定格式数据,并从设定格式数据中提取出实时明细数据。5.根据权利要求1所述的基于Flink和StarRocks的实时数据分析处理方法,其特征在于,所述根据实时任务将汇总后的第一临时表与第一维度表进行关联聚合,得到关联聚合后的第一结果数据,包括:根据实时任务将第一临时表中的相应数据参照第一维度表中的第一维度数据进行数据清洗,以及将第一临时表中的相应数据与第一维度表中的第一维度数据进行join关联,得到关联聚合后的第一结果数据。6.根据权利要求2所述的基于Flink和StarRocks的实时数据分析处理方法,其特征在
于,所述根据批微同步任务将汇总后的...

【专利技术属性】
技术研发人员:王桥张晨
申请(专利权)人:重庆海创云链数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1