本申请涉及大数据或金融的,特别是涉及一种湖仓下沉方法、装置、设备及介质。
背景技术:
1、数据仓库,简称数仓,是长期储存在计算机内的、有组织、可共享的数据集合,是为决策支持系统提供基础数据的分析型数据库。数据仓库存储容量有限,只会存储一年的数据,且业务无法从数据仓库直接提取业务数据使用。而数据湖是一种以原始格式存储数据的系统或存储库,可以用于报告、可视化、高级分析和机器学习等任务。
2、通过湖仓下沉,把数据仓库的mpp表数据下沉至数据湖hive表进行存储,可以保存数据仓库的数据,也便于提取业务数据使用。但是数仓使用mpp技术栈存储数据,数据则用hive存储数据,通过湖仓下沉存在表数据兼容问题。
3、因此,如何实现湖仓下沉,是本领域技术人员亟需解决的技术问题。
技术实现思路
1、有鉴于此,本申请实施例提供了一种湖仓下沉方法及装置,旨在实现湖仓下沉。
2、第一方面,本申请实施例提供了一种湖仓下沉方法,包括:
3、数据仓库通过kafka向数据湖发送消息;
4、数据湖通过tbds事件api,将参数传给api,所述参数包括分析所述kafka得到的事件名和数据日期;
5、tbds根据所述参数,产生事件实例;
6、tbds执行工作流运行包,消费所述事件实例,以实现湖仓下沉,所述工作流运行包为文件格式转化脚本。
7、可选的,所述tbds执行工作流运行包,消费所述事件实例,以实现湖仓下沉,所述工作流运行包为文件格式转化脚本,包括:
8、tbds获取数据仓库下传的txt格式文件;
9、tbds将所述txt格式文件转换为orc格式文件;
10、tbds解析所述orc格式文件,生成临时hive表;
11、tbds将所述临时hive表的数据加载至目标hive表,所述目标hive表为数据湖对应的hive表。
12、可选的,所述tbds将所述txt格式文件转换为orc格式文件,包括:
13、tbds解析所述txt格式文件的识别字段分隔符和换行分隔符;
14、tbds根据所述识别字段分隔符和换行分隔符,将txt格式文件转换为orc格式文件。
15、可选的,所述tbds解析所述orc格式文件,生成临时hive表,包括:
16、tbds根据所述参数,生成空白hive表;
17、tbds通过预设脚本,将所述orc格式文件加载到所述空白hive表,得到临时hive表。
18、可选的,所述tbds将所述临时hive表的数据加载至目标hive表,包括:
19、tbds从app_metadata_src表和/或app_metadata表获取数据湖表字段和字段顺序;
20、tbds依据所述字段和字段顺序,将所述临时hive表的数据加载至目标hive表。
21、可选的,在所述tbds将所述临时hive表的数据加载至目标hive表之后,所述方法还包括:
22、tbds定时清理所述临时hive表。
23、第二方面,本申请实施例提供了一种湖仓下沉装置,包括:
24、发送模块,用于数据仓库通过kafka向数据湖发送消息;
25、传输模块,用于数据湖通过tbds事件api,将参数传给api,所述参数包括分析所述kafka得到的事件名和数据日期;
26、实例产生模块,用于tbds根据所述参数,产生事件实例;
27、实例消费模块,用于tbds执行工作流运行包,消费所述事件实例,以实现湖仓下沉,所述工作流运行包为文件格式转化脚本。
28、可选的,所述实例消费模块,包括:
29、获取单元,用于tbds获取数据仓库下传的txt格式文件;
30、文件解析单元,用于tbds将所述txt格式文件转换为orc格式文件;
31、临时表生成单元,用于tbds解析所述orc格式文件,生成临时hive表;
32、目标表生成单元,用于tbds将所述临时hive表的数据加载至目标hive表,所述目标hive表为数据湖对应的hive表。
33、第三方面,本申请实施例提供了一种设备,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行前述第一方面任一项所述的湖仓下沉方法。
34、第四方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现前述第一方面任一项所述的湖仓下沉方法。
35、本申请实施例提供了一种湖仓下沉方法及装置,在执行所述方法时,数据仓库通过kafka向数据湖发送消息;数据湖通过tbds事件api,将参数传给api,所述参数包括分析所述kafka得到的事件名和数据日期;tbds根据所述参数,产生事件实例;tbds执行工作流运行包,消费所述事件实例,以实现湖仓下沉,所述工作流运行包为文件格式转化脚本。这样,通过消息触发tbds,由工作流运行包实现数据仓库的数据格式向数据湖的数据格式的转换,解决表数据兼容问题,进而完成湖仓下沉。
1.一种湖仓下沉方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述tbds执行工作流运行包,消费所述事件实例,以实现湖仓下沉,所述工作流运行包为文件格式转化脚本,包括:
3.根据权利要求2所述的方法,其特征在于,所述tbds将所述txt格式文件转换为orc格式文件,包括:
4.根据权利要求2所述的方法,其特征在于,所述tbds解析所述orc格式文件,生成临时hive表,包括:
5.根据权利要求2所述的方法,其特征在于,所述tbds将所述临时hive表的数据加载至目标hive表,包括:
6.根据权利要求2所述的方法,其特征在于,在所述tbds将所述临时hive表的数据加载至目标hive表之后,所述方法还包括:
7.一种湖仓下沉装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述实例消费模块,包括:
9.一种设备,其特征在于,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行权利要求1至6任一项所述的湖仓下沉方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的计算机存储设备实现权利要求1至6任一项所述的湖仓下沉方法。