[发明专利]一种基于Flink实现数据格式校验的方法有效
申请号: | 201911034885.6 | 申请日: | 2019-10-29 |
公开(公告)号: | CN110781647B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 王翠;苑晓龙;刘牧 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F40/151 | 分类号: | G06F40/151;G06F16/242;G06F16/2452;G06F16/2455 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 flink 实现 数据格式 校验 方法 | ||
本发明提供一种基于Flink实现数据格式校验的方法,属于物联网技术领域,本发明以缓存作为flink的数据源(source)和数据目的地(sink),增加flink对缓存的连接器,实现从缓存中获取被校验的json数据,并将数据根据SQL进行转换、处理、筛选以及转发至缓存,最后在缓存中获取处理结果,以验证被校验数据是否满足SQL。
技术领域
本发明涉及物联网技术,涉及Flink大数据组件,应用java、SQL等相关技术,尤其是一种基于Flink实现数据格式校验的方法。
背景技术
目前现有技术中,使用Flink处理流式数据已成为主流,在物联网服务中,Flink的一个重要应用就是设定SQL语句,对数据来源中的数据进行数据分析、筛选和转换,并将处理后的结果流向其他目的地。该方案只是针对同一个数据来源中的数据格式相同并且是json格式的数据。
数据源中的数据经过SQL语句的处理分析,可以改变数据格式,比如:数据源中的原始数据格式为:{state:{reported:{temperature:87}},clientToken:clientId_lamp_,timestamp:1531381822},处理分析的SQL语句为:selectstate.reported.temperature as temperature,`timestamp`,clientToken as tagsfrom tableName,经过SQL处理后,原始数据将转化为:{temperature:87,timestamp:1531381822,tags:clientId_lamp_},数据源中的所有数据将转化为相同格式的数据流向数据目的地。但是如果SQL规则不正确或是与数据源中数据格式不匹配,数据将无法被处理,因此判断该规则与数据源中数据格式是否相符就显得格外重要。
物联网服务中需要将大批量数据以流或批的形式经过SQL处理分析、筛选和转换之后,将数据流向另外一个目的地,比如流向mysql、时序数据库、kafka等,而Flink因其处理流和批数据的高性能、可扩展等优势被广泛应用。
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算。一个Flink程序由一个或多个Flink job组成,一个Flink Job一般由Source,Transformation,Sink组成,其中source为数据来源;transformation为数据转换过程,每个flink job可以有一个或多个transformation;sink为数据目的地,即转换后将数据写入的外部数据源。
Flink支持批处理、交互式处理、实时流数据处理、用SQL分析处理、机器学习以及仅一次交付(exactly-once)保证等功能。利用SQL对大批量相同格式的数据进行处理、筛选或转换之前,都需要对数据来源中的数据样例进行SQL的校验,以确保Flink job的正常运行以及数据无误的流向数据目的地,目前Flink并没有提供一种方式对单条数据进行校验,因此,如何利用Flink实现单条数据的SQL校验就成为我们亟待解决的问题。
发明内容
为了解决以上技术问题,本发明提出了一种基于Flink实现数据格式校验的方法,可以校验给定的json数据是否满足SQL语句。
本发明的技术方案是:
一种基于Flink实现数据格式校验的方法,
设定缓存为Flink job的数据源和目的地,自定义Flink对缓存的连接器,其目的是对缓存中的单条json数据进行处理和校验,并将结果发送至缓存。
进一步的,
以缓存作为flink的数据源和数据目的地,增加flink对缓存的连接器,实现从缓存中获取被校验的json数据,并将数据根据SQL进行转换、处理、筛选以及转发至缓存,最后在缓存中获取处理结果,以验证被校验数据是否满足SQL。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911034885.6/2.html,转载请声明来源钻瓜专利网。