【技术实现步骤摘要】
流式数据入库方法、装置和电子设备
[0001]本申请涉及数据库领域,具体而言,涉及一种流式数据入库方法、装置和电子设备.
技术介绍
[0002]目前大部分软件应用或WEB系统都是通过增、删、查、改数据库中的数据来实现前端数据展示或后端业务功能,因此在基于通用流式计算引擎Flink完成原始实时数据流的处理后,需要将处理完成的结果数据以灵活可靠的方式写入数据库中。
[0003]在上述场景下Flink原生提供的JDBC connector组件通过直接执行代码中定义数据库的DML语句(数据操纵语言)的方式进行数据入库,原生JDBC connector组件在进行入库操作时,如果外部数据库表的DDL语句(数据定义语言)存在主键,则JDBC connector使用更新插入方式进行入库,否则使用直接插入方式进入库处理。
[0004]现有的Flink原生提供的JDBC connector组件虽然实现了流式数据的入库功能,但这个组件在复杂的业务场景下和实际开发过程中存在以下弊端:
[0005]1)存在硬编码的情况 >[0006]在使用本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种流式数据入库方法,其特征在于,包括:获取Flink任务的全局变量配置;在流式数据入库组件初始化时,解析所述全局变量配置,得到任务配置文件,所述任务配置文件包括至少以下之一:数据库连接信息、数据库连接池参数、Mybatis配置信息、Mapper类所在包的位置、SQL语句;将所述SQL语句作为参数传递至所述Mapper类中,以配置所述流式数据入库组件;采用配置后的所述流式数据入库组件,进行流式数据入库。2.根据权利要求1所述的方法,其特征在于,在数据入库组件初始化时解析所述全局变量配置,得到任务配置文件之后,所述方法还包括:执行SinkFunction接口中的open方法,读取所述数据库连接池参数、所述Mybatis配置信息和所述Mapper类所在包的位置。3.根据权利要求2所述的方法,其特征在于,在执行SinkFunction接口中的open方法,读取所述数据库连接池参数、所述Mybatis配置信息和所述Mapper类所在包的位置之后,所述方法还包括:根据读取到的所述数据库连接池参数采用Mybatis框架提供的api构建数据库连接池工厂;根据读取到的所述Mybatis配置信息采用所述Mybatis框架提供的api构建Mybatis会话工厂;采用所述Mybatis框架提供的api基于所述Mapper类所在包的位置将所述Mapper类注册至所述Mybatis会话工厂。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在对所述流式数据入库组件初始化完成后,根据业务需要执行SinkFunction接口中的invoke中需要通过Mybatis框架访问数据库的操作。5.根据权利要求4所述的方法,其特征在于,在对所述流式数据入库组件初始化完成后,根据业务需要执行SinkFunction接口中的invoke中需要通过Mybatis框架访问数据库的操作,包括:在每次执行所述访问数据库的操作之前,控制数据库事务处于打开状态;在每次执行所述访问数据库...
【专利技术属性】
技术研发人员:邓箫笛,胡瑞娟,王建超,关东,孙涵宇,
申请(专利权)人:中国邮政储蓄银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。