[发明专利]偏移量管理方法、装置及存储介质在审
申请号: | 201911031175.8 | 申请日: | 2019-10-28 |
公开(公告)号: | CN112732165A | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 张志刚 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/07;G06F12/02 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 罗英;刘芳 |
地址: | 100076 北京市经济技术开*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 偏移 管理 方法 装置 存储 介质 | ||
本申请实施例公开了一种偏移量管理方法、装置及存储介质,该方法包括:在Spark Streaming中接入Kafka时,从Kafka中读取数据到弹性分布式数据集;存储弹性分布式数据集对应的偏移量和时间信息;对弹性分布式数据集中的数据进行处理,并在数据处理成功时,将弹性分布式数据集对应的偏移量和时间信息存储在上报列表中;若弹性分布式数据集为上报列表中的第一个弹性分布式数据集,则将第一偏移量上报给Kafka。这样当数据处理未成功时,不会将该数据未处理完成的弹性分布式数据集对应的偏移量上报给Kafka,防止再次启动任务时,丢失最后失败的那一批数据的问题。
技术领域
本申请涉及计算机技术领域,尤其涉及一种偏移量管理方法、装置及存储介质。
背景技术
在Spark Streaming中接入Kafka(卡夫卡)时,为防止程序异常故障导致数据丢失,需建立一种故障恢复机制,Spark Streaming自身提供的检测(check point)方案由于局限性太强,不适合在生产环境中使用。在生产环境中更合理的故障恢复机制是通过管理Kafka中的消息偏移量进行故障恢复。
现有技术,将Spark Streaming从Kafka获取的数据存储在弹性分布式数据集(Resilient Distributed Dataset,RDD)中,具体是,Spark Streaming从Kafka获取的数据存储到RDD后,将该RDD对应的偏移量上报给Kafka。然而当任务出现异常时,该RDD中的数据还未处理,但是现有技术由于RDD对应的偏移量已经提交到Kafka,当再次启动任务时,会丢失最后处理失败的那一批数据。
发明内容
本申请实施例提供一种偏移量管理方法、装置及存储介质,解决在SparkStreaming接入Kafka时造成数据丢失的问题。
第一方面,本申请实施例提供一种偏移量管理方法,包括:
在Spark Streaming中接入Kafka时,从所述Kafka中读取数据到弹性分布式数据集;
存储所述弹性分布式数据集对应的偏移量和时间信息;
对所述弹性分布式数据集中的所述数据进行处理,并在所述数据处理成功时,将所述弹性分布式数据集对应的偏移量和时间信息存储在上报列表中;
若所述弹性分布式数据集为所述上报列表中的第一个弹性分布式数据集,则将第一偏移量上报给所述Kafka,其中所述第一偏移量的区间包括所述弹性分布式数据集对应的偏移量的区间。
在第一方面的一种可能的实现方式中,所述第一偏移量的区间的最小值为0,所述第一偏移量的区间的最大值为所述弹性分布式数据集对应的偏移量的区间的最大值。
在第一方面的一种可能的实现方式中,所述方法还包括:
确定所述第一偏移量对应的时间信息;
将所述第一偏移量和所述第一偏移量对应的时间信息,存储在所述上报列表中。
在第一方面的一种可能的实现方式中,所述方法还包括:
若所述弹性分布式数据集对应的偏移量的区间的最小值等于0,则确定所述第一偏移量为所述弹性分布式数据集对应的偏移量,所述第一偏移量对应的时间信息为所述弹性分布式数据集对应的时间信息。
在第一方面的一种可能的实现方式中,所述方法还包括:
若所述弹性分布式数据集对应的偏移量的区间的最小值大于0,则确定所述第一偏移量为第二偏移量和所述弹性分布式数据集对应的偏移量的合并,所述第一偏移量对应的时间信息为所述第二偏移量对应的时间信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司,未经北京沃东天骏信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911031175.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电池盖板组件、动力电池、电池模组和汽车
- 下一篇:旋转治具