[发明专利]一种基于NiFi更新Delta Lake的方法有效
申请号: | 202110107924.1 | 申请日: | 2021-01-27 |
公开(公告)号: | CN112800073B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 杨贵柽;周永进;李国涛;胡清 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/22;G06F3/04845;G06F9/54 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 郗艳荣 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nifi 更新 delta lake 方法 | ||
1.一种基于NiFi更新Delta Lake的方法,其特征在于,包括以下步骤:
第一步,定义数据源
自定义数据源,将所需的文件及信息参数填备完全;
第二步,定义任务
设置执行sparkStreaming任务的yarn队列以及更新的Hive表名称、依据更新的表字段,通过定义的sparkStreaming任务获取连接数据源的所有参数信息;
第三步,NiFi处理器运行任务
以kafka为消息中间件进行存储读取,NiFi处理器启动sparkStreaming程序读取kafka主题数据,并对Delta Lake存储层的数据进行更新;
提交sparkStreaming任务至yarn队列并获取yarn对该任务创建的application ID,存入缓存;该sparkStreaming任务采用定时单线程去kafka主题中获取增量数据,并根据增量数据操作字段信息新增、修改或者删除Dalte Lake存储层的数据;
Hive组件通过metastore对Delta Lake存储层创建的表进行关联,间接实现对Hive表的更新,通过SparkSql进行查询计算。
2.根据权利要求1所述的基于NiFi更新Delta Lake的方法,其特征在于:所述第三步中,启动kakfa的生产者客户端存入增量数据,通过日志解析来判断每条增量数据是通过新增、修改或者删除操作得到的,并在每条增量数据中新增一个字段来保存对应的操作信息。
3.根据权利要求2所述的基于NiFi更新Delta Lake的方法,其特征在于:所述第三步中,sparkStreaming任务定时读取kafka主题数据,在sparkStreaming程序获取增量数据后,根据增量数据中自带的操作信息字段来对Delta Lake存储层对应数据进行相应操作。
4.根据权利要求3所述的基于NiFi更新Delta Lake的方法,其特征在于:所述第三步中,启动sparkStreaming流式计算任务,获取连接数据源的所有参数信息;NiFi处理器获取到数据源参数信息后,将其拼装成可运行的sparkStreaming命令去读取kafka主题数据。
5.根据权利要求4所述的基于NiFi更新Delta Lake的方法,其特征在于:所述第三步中,将sparkStreaming任务获取的数据源参数信息拼装成文件所需内容,然后将拼装内容上传到要运行sparkStreaming任务的客户端机器上,并返回路径。
6.根据权利要求1所述的基于NiFi更新Delta Lake的方法,其特征在于:所述第三步中,sparkStreaming任务启动新线程,创建yarnClient,每隔60s监控application ID任务的状态,当任务状态为Failed或者Killed时停止线程,任务结束。
7.根据权利要求6所述的基于NiFi更新Delta Lake的方法,其特征在于:所述第三步中,当需要停止NiFi处理器来修改参数时,先创建yarnClient,并拿到缓存中的application ID,通过封装的sdk方法kill该任务;或者当启动的线程检测到任务状态为Killed时停止线程,完成NiFi处理器的停止操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110107924.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能五轴木工加工中心
- 下一篇:一种HBase二级索引的实现方法