基于Doris的实时数仓设计方法、装置、设备及存储介质制造方法及图纸

技术编号:34686907 阅读:16 留言:0更新日期:2022-08-27 16:19
本发明专利技术具体公开基于Doris的实时数仓设计方法、装置、设备及存储介质。它包括:将业务实时数据导入到Kakfa队列,并放入适配的topic标签中,提供消费所述topic标签中数据的至少一消费任务,设置适配的Routine Load任务监控;所述Routine Load任务监控实时读取用于表明所述topic标签中消费当前数据所在位置信息的偏移量;若所述偏移量在预设时间内未增长,则重新启动所述Routine Load任务监控,从所述偏移量继续执行所述消费任务;将所述消费任务执行后的Stream Load数据流导入到Doris中。本发明专利技术还进一步包括对需要二次业务逻辑处理的实时数据、离线数据、固定数据等提供导入Doris的技术手段,对于数仓建设在提高业务支持效率、降低维护成本上都具有非常重大的意义。降低维护成本上都具有非常重大的意义。降低维护成本上都具有非常重大的意义。

【技术实现步骤摘要】
基于Doris的实时数仓设计方法、装置、设备及存储介质


[0001]本专利技术属于物流平台的数据仓库
,尤其涉及于Doris的实时数 仓设计方法、装置、设备及存储介质。

技术介绍

[0002]随着快递行业的日益增长,物流快递数据的单日票件量已达亿级,面对 如此大的数据量,不仅有票件数据,还有智能硬件、比如说车辆摄像头等一 些监控方面的数据,要对这些数据进行处理,需要有一个交互的分析平台, 以便业务人员执行一些Adhoc(多跳网)命令去查询不同的数据,还要支持 通用的SQL(结构化查询语言)语法,降低学习成本,并且需要查询快捷。
[0003]在实时数据处理时经常发生挂掉或阻塞的情况。
[0004]另外,每天的数据量达到了百亿级以上,不仅要求分析平台的性能要快, 还要有各种票单量的明细级多表去Join(连接)亿级的多个票单量维表。另 外,需要多表的票单量精确去重,并保证数据的准确性。同时平台还需要要 支持多种报表的导出和多种数据源的导入。现有的物流平台的数仓建设上无 法做到上述需求。

技术实现思路

[0005]本专利技术提供了一种基于Doris的实时数仓设计方法、装置、设备及存储 介质,解决技术中实时数据导入时挂掉或阻塞的情况,另外也提供支持更多 数据源导入的方案。
[0006]本方法包括:
[0007]将业务实时数据导入到Kakfa队列,并放入适配的topic标签中,提供消 费所述topic标签中数据的至少一消费任务,设置适配的Routine Load任务 监控;<br/>[0008]所述Routine Load任务监控实时读取用于表明所述topic标签中消费当 前数据所在位置信息的偏移量;
[0009]若所述偏移量在预设时间内未增长,则重新启动所述Routine Load任务 监控,从所述偏移量继续执行所述消费任务;
[0010]将所述消费任务执行后的Stream Load数据流导入到Doris中。
[0011]进一步,将所述消费任务执行后的Stream Load数据进行导入到Doris 中进一步包括:在实时计算集群Flink上创建一个所述Stream Load数据流最 终输出位置到所述Doris中的sink:flink

connector

dorisdb;Stream Load数 据通过缓存并批量直接由Http导入至所述Doris中。
[0012]本方案还包括对二次业务逻辑处理的数据的实时导入,则包括:
[0013]将所述消费任务执行后的Stream Load数据流导入到Doris中之后还包括:
[0014]找到需要二次业务逻辑处理的实时数据,先对所述实时数据通过Flink 进行所述二次业务的逻辑处理,再对所述逻辑处理后的数据进行缓存,最后 将缓存的所述数据由Stream Load导入Doris。需要二次业务逻辑处理的至少 一实时数据先通过Flink的二次业
务逻辑处理进一步包括:至少一所述实时 数据的二次业务逻辑设置成一任务管理,所述任务管理提交适配的任务作业 给JobManager,所述JobManager负责所述作业的调度和资源分配,所述 JobManager将所述作业分给对应的TaskManager,所述TaskManager收到所 述任务作业后,启动线程去执行,并向所述JobManager报告所述任务状态和 自身运行状态;当所述任务执行结束后,所述JobManager将收到通知,并将 二次业务逻辑处理后的数据后发送给对应的任务管理。
[0015]举例中,需要二次业务逻辑处理的至少一实时数据先通过Flink的二次 业务逻辑处理进一步包括:
[0016]先从ods日志主题消费数据,然后通过用户行为,将所述数据中的行为 数据分为3种:页面日志,曝光日志,启动日志;
[0017]通过定义了一个Flink的状态变量为时间,用于过滤新用户的所述数据, 判断是否是新用户,如果是第一次来,对应的状态是空,将现在的时间更新 至所述状态,否则状态不为空,则所述当前用户修改为老用户;
[0018]对进行过滤处理后的所述数据进行分流处理,所述启动日志和所述曝光 数据写入侧输出流,所述页面数据写入主流并通过json获取对应的值,在start 中写入启动所述测输出流,去除所述启动日志全部为所述页面日志,将所述 页面日志写入到主流,再将所述曝光日志写入到曝光侧输出流
[0019]本方法还包括离线业务数据的导入,其包括:
[0020]在离线业务场景中,利用Broker Load将所述离线业务数据从HDFS导 入所述Doris;
[0021]通过SQL方式,使用DolphinSchedule配置调度任务,批处理完成所述 离线业务数据的处理,后汇总到一个总表中。
[0022]本方法还包括相对固定的数据导入,其还包括:
[0023]在实际业务场景中相对固定的数据,直接对接数据服务大厅,由所述数 据服务大厅与Power BI工具和前端报表对接。
[0024]基于相同的构思,本专利技术还提供一种基于Doris的实时数仓设计装置, 包括:
[0025]Routine Load任务监控设置模块:用于将业务实时数据导入到Kakfa队 列,并放入适配的topic标签中,后提供消费所述topic标签中数据的至少一 消费任务,设置适配的Routine Load任务监控;
[0026]Routine Load任务监控处理模块:用于所述Routine Load任务监控实时 读取用于表明所述topic标签中消费当前数据所在位置信息的偏移量;
[0027]所述Routine Load任务监控启动模块:用于若所述偏移量在预设时间内 未增长,则重新启动所述Routine Load任务监控,从所述偏移量继续执行所 述消费任务;
[0028]导入模块:用于将所述消费任务执行后的Stream Load数据流导入到 Doris中。
[0029]基于相同的构思,本专利技术还一种计算机设备,包括:
[0030]存储器,所述存储器用于存储处理程序;
[0031]处理器,所述处理器执行所述处理程序时实现上述的基于Doris的实时 数仓设计方法。
[0032]基于相同的构思,本专利技术还提供一种可读存储介质,所述可读存储介质 上存储有
处理程序,所述处理程序被处理器执行时实现上述基于Doris的实 时数仓设计方法方法。
[0033]采用上述技术方案后,与现有技术相比,本专利技术的有益之处在于:
[0034]本专利技术做了一个自定义的Routine Load监控,去实时读取它的offset, 如果发现了offset不再增长之后,就会手动通过监控系统去执行停掉 Routine Load的任务,并重新启动Routine Load,offset用之前的,这样既 能保证数据不丢,也不会重复,同时恢复Routine Load,本专利技术提升实时数 据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Doris的实时数仓设计方法,其特征在于,包括:将业务实时数据导入到Kakfa队列,并放入适配的topic标签中,提供消费所述topic标签中数据的至少一消费任务,设置适配的Routine Load任务监控;所述Routine Load任务监控实时读取用于表明所述topic标签中消费当前数据所在位置信息的偏移量;若所述偏移量在预设时间内未增长,则重新启动所述Routine Load任务监控,从所述偏移量继续执行所述消费任务;将所述消费任务执行后的Stream Load数据流导入到Doris中。2.如权利要求1所述的基于Doris的实时数仓设计方法,其特征在于,所述将所述消费任务执行后的Stream Load数据进行导入到Doris中进一步包括:在实时计算集群Flink上创建一个所述Stream Load数据流最终输出位置到所述Doris中的sink:flink

connector

dorisdb;所述Stream Load数据通过缓存并批量直接由Http导入至所述Doris中。3.如权利要求1所述的基于Doris的实时数仓设计方法,其特征在于,将所述消费任务执行后的Stream Load数据流导入到Doris中之后还包括:找到需要二次业务逻辑处理的实时数据,先对所述实时数据通过Flink进行所述二次业务的逻辑处理,再对所述逻辑处理后的数据进行缓存,最后将缓存的所述数据由Stream Load导入Doris。4.如权利要求3所述的基于Doris的实时数仓设计方法,其特征在于,所述先对所述实时数据通过Flink进行所述二次业务的逻辑处理,其进一步包括:将一所述实时数据的二次业务逻辑设置成一任务管理,所述任务管理提交适配的任务作业给JobManager,所述JobManager负责所述作业的调度和资源分配,所述JobManager将所述作业分给对应的TaskManager,所述TaskManager收到所述任务作业后,启动线程去执行,并向所述JobManager报告所述任务状态和自身运行状态;当所述任务执行结束后,所述JobManager将收到通知,并将二次业务逻辑处理后的数据后发送给对应的所述任务管理。5.如权利要求3或4所述的基于Doris的实时数仓设计方法,其特征在于,所述先对所述实时数据通过Flink进行所述二次业务的逻辑处理,其中的所述二次业务逻辑处理,其进一步包括:先从ods日志主题消费数据,然后通过用户行为,将所述数据中的行为数据分为3种:页面日...

【专利技术属性】
技术研发人员:张浩杨周龙聂英春康元佳刘镕硕高书增
申请(专利权)人:上海东普信息科技有限公司
类型:发明
国别省市:

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

1