[发明专利]一种流处理方式支持动态读取hive表数据的方法及装置在审
申请号: | 202111194393.0 | 申请日: | 2021-10-13 |
公开(公告)号: | CN113886330A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 赵方杨;高东升;梅纲 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/16;G06F16/182 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 方式 支持 动态 读取 hive 数据 方法 装置 | ||
本发明涉及计算机技术领域,提供了一种流处理方式支持动态读取hive表数据的方法及装置,方法包括:设置patitionMap和partitionValueList,设置第一轮读取中的时间戳为预设初始值;若patitionMap中能够找到partitionValueList中待读取的分区名,则判定相应待读取的分区为老分区;若老分区中待读取文件的文件修改时间大于patitionMap中相应分区中已经读取过的最大的文件修改时间,且老分区中待读取文件的文件修改时间大于当前轮时间戳,则判定老分区中待读取文件为老分区新文件,按partitionValueList中相应待读取文件的路径进行老分区新文件的读取;本发明提供的流处理方式支持动态读取hive表数据的方法可以在流机制上执行hive的数据源,使流处理引擎能够对hive中的老分区新文件进行动态读取。
技术领域
本发明涉及计算机技术领域,尤其涉及一种流处理方式支持动态读取hive表数据的方法及装置。
背景技术
随着科技的发展,很多场景应用的数据是无限的,批处理已经不能满足这些场景的需求,随着市场的需求增加,流处理引擎日渐火爆。流处理引擎,用于实时计算,来一条数据就处理一条,不用像批处理一样,得等待一批数据到达后再进行处理,流处理引擎进行实时计算的优势使得流处理引擎在网络监控和电子商务等应用广泛。
hive是基于hadoop的数据仓分析处理工具,并且可以用sql语句进行查询;因为hive的底层是封装流hadoop,hive的数据都存储在hadoop文件中,所以有很好的批处理的能力,但是hive对于流处理并不支持,对于不同的分区的数据,每个分区为一个文件夹,文件夹下的文件即为存储的数据;而在hive中,对于老分区中新加入的数据,会在hdfs中自动新建文件,不能在已经存在的文件下添加数据,因此流处理引擎对于hive表的老分区中新添加的文件不能读取出来,即不支持动态读取hive中的老分区新文件。
当一次性加入大量的新分区文件时,由于流处理引擎不能一次读出所有的新分区文件,会由于时间差导致流处理引擎中的分区和hive中的分区不匹配,出现部分新分区漏读的情况。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
本发明要解决的技术问题是:
在hive中,对于老分区中新加入的数据,会在hdfs中自动新建文件,不能在已经存在的文件下添加数据,因此流处理引擎对于hive表的老分区中新添加的文件不能读取出来,即不支持动态读取hive中的老分区新文件。
为实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供了一种流处理方式支持动态读取hive表数据的方法,包括:
在流处理引擎开始读取hive表之前,设置patitionMap,用于装载整个读取流程中已经读取过的分区名和相应分区中已经读取过的最大的文件修改时间;设置partitionValueList,用于装载当前轮待读取的分区名、相应分区中待读取文件的文件修改时间和相应待读取文件的路径;设置第一轮读取中的时间戳为预设初始值;
在流处理引擎读取hive表的过程中,若patitionMap中能够找到partitionValueList中待读取的分区名,则判定相应待读取的分区为老分区;若老分区中待读取文件的文件修改时间大于patitionMap中相应分区中已经读取过的最大的文件修改时间,且老分区中待读取文件的文件修改时间大于当前轮时间戳,则判定老分区中待读取文件为老分区新文件,按partitionValueList中相应待读取文件的路径进行老分区新文件的读取;
待当前轮的待读取文件读取完毕后,清空partitionValueList,更新patitionMap中的相应分区中已经读取过的最大的文件修改时间,将时间戳更新为与当前轮所有已经读取过的文件中文件修改时间最大的文件相对应的文件修改时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111194393.0/2.html,转载请声明来源钻瓜专利网。