【技术实现步骤摘要】
数据处理方法、系统及非瞬时性计算机可读存储介质
[0001]本公开涉及计算机
,特别涉及一种数据处理方法、系统及非瞬时性计算机可读存储介质。
技术介绍
[0002]采用Lambda架构的数据处理系统,通常包括实时子系统和离线子系统。这两套子系统采用不同的计算逻辑和存储资源。
[0003]通过不同的查询方式向这两套子系统分别发起查询请求,可以分别满足不同的业务时效需求。
技术实现思路
[0004]本公开解决的一个技术问题是,如何实现流批一体的数据处理方法。
[0005]根据本公开的一个方面,提供了一种数据处理方法,包括:将从客户端接收的流数据写入消息中间件;通过结构化流处理引擎对流数据进行实时计算,获得实时计算结果;将实时计算结果以更新或插入Upsert方式分别写入数据湖和联机分析处理数据库;通过数据湖接收并响应离线的数据请求,通过联机分析处理数据库接收并响应实时的数据请求。
[0006]在一些实施例中,通过结构化流处理引擎对流数据进行实时计算包括:通过Spark结构化流处理引擎, ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,包括:将从客户端接收的流数据写入消息中间件;通过结构化流处理引擎对流数据进行实时计算,获得实时计算结果;将实时计算结果以更新或插入Upsert方式分别写入数据湖和联机分析处理数据库;通过数据湖接收并响应离线的数据请求,通过联机分析处理数据库接收并响应实时的数据请求。2.根据权利要求1所述的数据处理方法,其中,所述通过结构化流处理引擎对流数据进行实时计算包括:通过Spark结构化流处理引擎,从消息中间件读取流数据并按照会话标识对流数据进行分组,获得各个分组会话的流数据;通过Spark结构化流处理引擎的状态算子flatMapGroupsWithState,缓存各个分组会话的流数据并对各个分组会话的流数据执行业务计算逻辑,获得各个分组会话的统计字段。3.根据权利要求2所述的数据处理方法,其中,所述对各个分组会话的流数据执行业务计算逻辑获得各个分组会话的统计字段包括:对任一分组会话中的各个流数据进行排序;获取所述任一分组会话中的各个流数据的业务指标参数;根据所述业务指标参数,确定所述任一分组会话的统计字段。4.根据权利要求1所述的数据处理方法,其中,所述将实时计算结果以更新或插入Upsert方式分别写入数据湖和联机分析处理数据库包括:在实时计算结果发生变更的情况下,将实时计算结果以更新或插入Upsert方式分别写入数据湖和联机分析处理数据库。5.根据权利要求1所述的数据处理方法,其中,通过结构化流处理引擎对流数据进行实时计算的间隔时长大于预设时长。6.根据权利要求1所述的数据处理方法,还包括:在数据湖上设置会话已完成分区和会话未完成分区;其中,将实时计算结果以Upsert方式写入数据湖的会话未完成分区。7.根据权利要求1所述的数据处理方法,其中,所述将从客户端接收的流数据写入消息中间件包括:通过HTTP接收机从客户端接收流数据;通过HTTP接收机将所述流数据写入Kafka消息中间件。8.一种数据处理系统,包括:HTTP接收机,被配置为将从客户端接收的流数据写入消息中间件;消息中间件,被配置为存储流数据;Spark结构化流处理引擎,被配置为对流...
【专利技术属性】
技术研发人员:冯志恒,李源,尹翔,高伟,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。