CN115328928B - kudu表更新方法、装置、设备及存储介质 - Google Patents
kudu表更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115328928B CN115328928B CN202210972152.2A CN202210972152A CN115328928B CN 115328928 B CN115328928 B CN 115328928B CN 202210972152 A CN202210972152 A CN 202210972152A CN 115328928 B CN115328928 B CN 115328928B
- Authority
- CN
- China
- Prior art keywords
- kudu
- data
- preset
- configuration file
- json
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及表格更新领域,公开了一种kudu表更新方法、装置、设备及存储介质。该方法包括:基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;根据所述同步指令,对预置监控日志进行解析转换处理,得到所述监控日志对应的JSON串;根据预置转换算法,将所述JSON串转换为Java对象数据;判断所述table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;若存在修改,则根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表。
Description
技术领域
本发明涉及表格更新领域,尤其涉及一种kudu表更新方法、装置、设备及存储介质。
背景技术
现有的基于mysql binlog数据实时同步方案中mysql-Streamsets-kudu,框架较重,耗费资源,不可定制,出现同步问题不太方便查找;mysql-canal/maxwell/debezium-kafka-flink-kudu,组件较多,开发和维护成本较高;Flinksql (Flink CDC + ApacheBahir Flink Kudu Connector)一个Job中同步多张表受限且需要重复写Schema比较麻烦等;现有方案在数据实时同步过程中,源数据一有变更便会触发kudu的写操作,而在我们实际数据分析中并不需要一有binlog产生就触发写操作,而是按需(我们关心的字段信息发生变更)触发写操作,这样也可以大大降低数据洪峰时,写操作产生压力;再者现有方案实现数据同步一般是对于数据表的增删改,也就是kudu表中存储的是此时此刻的一份快照,而我们对有一些重要的信息表的数据需要详细记录每条信息增删改的详细变更过程以便后续审计溯源等。因此,针对当前kudu表格的修改内容变更无法简易被溯源的技术问题,需要一种新的更新kudu表的技术。
发明内容
本发明的主要目的在于解决当前kudu表格的修改内容变更无法简易被溯源的技术问题。
本发明第一方面提供了一种kudu表更新方法,所述kudu表更新方法包括:
基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;
根据所述同步指令,对预置监控日志进行解析转换处理,得到所述监控日志对应的JSON串;
根据预置转换算法,将所述JSON串转换为Java对象数据;
判断所述table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;
若存在修改,则根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表。
可选的,在本发明第一方面的第一种实现方式中,在所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令之前,还包括:
获取table.json配置文件,访问预置MySQL数据库,解析所述table.json配置文件对应的数据,生成kudu建表语句;
基于预置Impala组件,对所述kudu建表语句进行执行处理,生成kudu表;
执行预置DataX任务数据,将历史数据同步至所述kudu表中。
可选的,在本发明第一方面的第二种实现方式中,在所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令之后,在所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表之前,还包括:
基于所述table.json配置文件,获取kudu服务组件的会话数据;
将所述会话数据对应所述kudu表的数据转换为K-V形式存储在Map容器中。
可选的,在本发明第一方面的第三种实现方式中,在所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令之后,在所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表之前,还包括:
根据所述table.json配置文件,对预置kudu创建操作组件进行设置处理,获取数据操作设置;
将所述数据操作设置转换为K-V形式存储在Map容器中。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表包括:
根据所述Java对象数据,对所述Map容器进行查询处理,得到所述Java对象数据对应的数据操作设置、所述kudu表的数据;
将所述Java对象数据转换为K-V形式数据,得到Java对象K-V数据;
根据所述Java对象K-V数据,对所述Java对象数据对应的数据操作设置、所述kudu表的数据进行修改处理,得到Map容器的映射修改数据;
基于所述映射修改数据,对所述kudu表进行修改处理,生成更新的kudu表。
可选的,在本发明第一方面的第五种实现方式中,在所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表之后,还包括:
基于预置Impala组件,对所述更新的kudu表进行查询处理,得到更新日志,以及将所述更新日志上传至云端数据库。
可选的,在本发明第一方面的第六种实现方式中,所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令包括:
基于预置table.json配置文件,通过StreamX组件读取FlinkFlinkCDC任务,生成所述table.json配置文件对应的kudu表的同步指令。
本发明第二方面提供了一种kudu表更新装置,所述kudu表更新装置包括:
指令生成模块,用于基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;
日志处理模块,用于根据所述同步指令,对预置监控日志进行解析转换处理,得到所述监控日志对应的JSON串;
对象转换模块,用于根据预置转换算法,将所述JSON串转换为Java对象数据;
判断模块,用于判断所述table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;
匹配修改模块,用于若存在修改,则根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表。
本发明第三方面提供了一种kudu表更新设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述kudu表更新设备执行上述的kudu表更新方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的kudu表更新方法。
在本发明实施例中,当有新的多张数据库表需要加入实时同步时,无需再有代码开发,只需简单地配置,便可轻松实现mysql-kudu的实时同步;再者本方案可以按需字段信息发生变更触发写操作,这样也可以大大降低数据洪峰时,写操作产生压力,该方案集成阿里云日志可以方便定位数据从产生到落盘的完整过程,并且集成了StreamX可以很方便的部署和管理,并且通过Impala可以快速的实时查阅Kudu表数据情况。
附图说明
图1为本发明实施例中kudu表更新方法的一个实施例示意图;
图2为本发明实施例中kudu表更新装置的一个实施例示意图;
图3为本发明实施例中kudu表更新装置的另一个实施例示意图;
图4为本发明实施例中kudu表更新设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种kudu表更新方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中kudu表更新方法的一个实施例包括:
101、基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;
在本实施例中,该方案分为两部分,一部分是初始化过程,根据配置文件进行的批量历史数据同步过程;另一部分是基于mysql binlog的实时数据同步过程。首先通过初始化建表之后,开启FlinkCDC实时同步任务,完成保存点savepoint之后关闭FlinkCDC任务,执行历史数据同步DataX任务,完成历史数据同步之后,再从保存点savepoint将FlinkCDC任务启动起来。
table.json配置文件包含库,表,字段名称等信息,解析eble.json配置文件,即可触发开启FlinkCDC任务,生成对目标kudu表的同步指令。
进一步的,在101之前还包括以下步骤:
1011、获取table.json配置文件,访问预置MySQL数据库,解析table.json配置文件对应的数据,生成kudu建表语句;
1012、基于预置Impala组件,对kudu建表语句进行执行处理,生成kudu表;
1013、执行预置DataX任务数据,将历史数据同步至kudu表中。
在1011-1013步骤中,根据配置文件信息访问MySQL数据库,解析对应表的元数据信息,映射其字段数据类型,生成Kudu的建表语句,以及批量数据同步的DataX任务,完成之后采用Impala组件执行建表语句生成Kudu表,接着启动DataX任务完成历史数据同步kudu表中从而完成初始化。
进一步的,101可以执行以下步骤:
1014、基于预置table.json配置文件,通过StreamX组件读取FlinkFlinkCDC任务,生成table.json配置文件对应的kudu表的同步指令。
在1014步骤中,mysql binlog的实时数据同步过程中,通过StreamX组件管理Flink的实时同步任务,然后基于StreamX组件读取FlinkFlinkCDC任务,通过table.json配置文件监控指定库的日志信息。
102、根据同步指令,对预置监控日志进行解析转换处理,得到监控日志对应的JSON串;
在本实施例中,在同步指令下,通过对table.json配置文件对应的库、表、字段,监控对应库的监控日志,转换成JOSN串。例如:mysql binlog通过反序列化器生成指定格式的Json串。
103、根据预置转换算法,将JSON串转换为Java对象数据;
在本实施例中,JSON串并通过扁平化映射转成Java对象,接着在过滤器中,读取配置文件表字段信息,对比变更前后配置字段的信息是否发生了变化,没有变化则舍弃,有变化才继续向下游传输,减小数据洪峰时数据的写压力,之后输出Kudu。
104、判断table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;
在本实施例中,在过滤器中,读取配置文件表字段信息,对比变更前后配置字段的信息是否发生了变化,没有变化则舍弃,有变化才继续向下游传输。
进一步的,在101步骤之后,在105步骤之前,还可以执行以下步骤:
1041、基于table.json配置文件,获取kudu服务组件的会话数据;
1042、将会话数据对应kudu表的数据转换为K-V形式存储在Map容器中。
在1041-1042步骤中,输出Kudu时,首先会初始化Kudu Client以及会话数据,接着通过会话数据获取要同步的Kudu表的表格信息并以k-v的形式保存于Map容器中。
进一步的,在101步骤之后,在105步骤之前,还可以执行以下步骤:
1043、根据table.json配置文件,对预置kudu创建操作组件进行设置处理,获取数据操作设置;
1044、将数据操作设置转换为K-V形式存储在Map容器中。
该1043-1044步骤与1041-1042步骤可以并行处理,主要是创建各表的KuduOperation Mapper确定以何种方式进行数据操作并以k-v的形式保存于Map容器中。可以增删改实时同步,也可以将这些记录都转成***,并在目标表中增加操作类型及操作时间等字段记录数据的详细变化过程。
105、若存在修改,则根据Java对象数据,对kudu表进行映射匹配修改处理,生成更新的kudu表。
在本实施例中,Java对象数据中包含映射对象的库名、表名、字段,对kudu表在匹配的库名、表名、字段进行更新,生成更新的kudu表。
进一步的,在105步骤可以执行以下步骤:
1051、根据Java对象数据,对Map容器进行查询处理,得到Java对象数据对应的数据操作设置、kudu表的数据;
1052、将Java对象数据转换为K-V形式数据,得到Java对象K-V数据;
1053、根据Java对象K-V数据,对Java对象数据对应的数据操作设置、kudu表的数据进行修改处理,得到Map容器的映射修改数据;
1054、基于映射修改数据,对kudu表进行修改处理,生成更新的kudu表。
在1051-1054步骤中,完成Kudu Sink初始化之后,基于上游传输来的Java对象获取原表名称然后去初始化的Map容器中获取对应的Kudu表格数据和数据操作设置(KuduOperation Mapper)。根据Java对象中的业务数据获取字段名称对数据类型进行转化映射使之与Kudu表数据类型匹配,完成之后触发Kudu的写操作,实时写入的数据,可以通过Impala进行查询;整个实时同步过程通过StreamX进行部署管理,当其他库表需要同步时,仅需在配置文件中添加相关信息并通过StreamX的CICD即可,无需再有代码开发。
进一步的,在105步骤之后,还可以执行以下步骤:
106、基于预置Impala组件,对更新的kudu表进行查询处理,得到更新日志,以及将更新日志上传至云端数据库。
在本实施例中,该过程集成了阿里云日志,mysql binlog产生之后在反序列化的过程中会实时的加上一个唯一的trace ID,在之后的扁平化映射、过滤、写Kudu的过程中都会保留,当我们需要查看具体的一条记录的增删改情况,只需登录阿里云日志平台,输入对应的traceID便可查看完整的数据变更过程,方便我们定位问题。
在本发明实施例中,当有新的多张数据库表需要加入实时同步时,无需再有代码开发,只需简单地配置,便可轻松实现mysql-kudu的实时同步;再者本方案可以按需字段信息发生变更触发写操作,这样也可以大大降低数据洪峰时,写操作产生压力,该方案集成阿里云日志可以方便定位数据从产生到落盘的完整过程,并且集成了StreamX可以很方便的部署和管理,并且通过Impala可以快速的实时查阅Kudu表数据情况。
上面对本发明实施例中kudu表更新方法进行了描述,下面对本发明实施例中kudu表更新装置进行描述,请参阅图2,本发明实施例中kudu表更新装置一个实施例包括:
指令生成模块201,用于基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;
日志处理模块202,用于根据所述同步指令,对预置监控日志进行解析转换处理,得到所述监控日志对应的JSON串;
对象转换模块203,用于根据预置转换算法,将所述JSON串转换为Java对象数据;
判断模块204,用于判断所述table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;
匹配修改模块205,用于若存在修改,则根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表。
在本发明实施例中,当有新的多张数据库表需要加入实时同步时,无需再有代码开发,只需简单地配置,便可轻松实现mysql-kudu的实时同步;再者本方案可以按需字段信息发生变更触发写操作,这样也可以大大降低数据洪峰时,写操作产生压力,该方案集成阿里云日志可以方便定位数据从产生到落盘的完整过程,并且集成了StreamX可以很方便的部署和管理,并且通过Impala可以快速的实时查阅Kudu表数据情况。
请参阅图3,本发明实施例中kudu表更新装置的另一个实施例包括:
指令生成模块201,用于基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;
日志处理模块202,用于根据所述同步指令,对预置监控日志进行解析转换处理,得到所述监控日志对应的JSON串;
对象转换模块203,用于根据预置转换算法,将所述JSON串转换为Java对象数据;
判断模块204,用于判断所述table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;
匹配修改模块205,用于若存在修改,则根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表。
其中,所述kudu表更新装置还包括初始化模块206,所述初始化模块206具体用于:
获取table.json配置文件,访问预置MySQL数据库,解析所述table.json配置文件对应的数据,生成kudu建表语句;
基于预置Impala组件,对所述kudu建表语句进行执行处理,生成kudu表;
执行预置DataX任务数据,将历史数据同步至所述kudu表中。
其中,所述kudu表更新装置还包括会话转换模块207,所述会话转换模块207具体用于:
基于所述table.json配置文件,获取kudu服务组件的会话数据;
将所述会话数据对应所述kudu表的数据转换为K-V形式存储在Map容器中。
其中,所述kudu表更新装置还包括设置转换模块208,所述设置转换模块208具体用于:
根据所述table.json配置文件,对预置kudu创建操作组件进行设置处理,获取数据操作设置;
将所述数据操作设置转换为K-V形式存储在Map容器中。
其中,所述匹配修改模块205具体用于:
根据所述Java对象数据,对所述Map容器进行查询处理,得到所述Java对象数据对应的数据操作设置、所述kudu表的数据;
将所述Java对象数据转换为K-V形式数据,得到Java对象K-V数据;
根据所述Java对象K-V数据,对所述Java对象数据对应的数据操作设置、所述kudu表的数据进行修改处理,得到Map容器的映射修改数据;
基于所述映射修改数据,对所述kudu表进行修改处理,生成更新的kudu表。
其中,所述kudu表更新装置还包括云端上传模块209,所述云端上传模块209具体用于:
基于预置Impala组件,对所述更新的kudu表进行查询处理,得到更新日志,以及将所述更新日志上传至云端数据库。
其中,所述指令生成模块201具体用于:
基于预置table.json配置文件,通过StreamX组件读取FlinkCDC任务,生成所述table.json配置文件对应的kudu表的同步指令。
在本发明实施例中,当有新的多张数据库表需要加入实时同步时,无需再有代码开发,只需简单地配置,便可轻松实现mysql-kudu的实时同步;再者本方案可以按需字段信息发生变更触发写操作,这样也可以大大降低数据洪峰时,写操作产生压力,该方案集成阿里云日志可以方便定位数据从产生到落盘的完整过程,并且集成了StreamX可以很方便的部署和管理,并且通过Impala可以快速的实时查阅Kudu表数据情况。
上面图2和图3从模块化功能实体的角度对本发明实施例中的kudu表更新装置进行详细描述,下面从硬件处理的角度对本发明实施例中kudu表更新设备进行详细描述。
图4是本发明实施例提供的一种kudu表更新设备的结构示意图,该kudu表更新设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)410(例如,一个或一个以上处理器)和存储器420,一个或一个以上存储应用程序433或数据432的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器420和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对kudu表更新设备400中的一系列指令操作。更进一步地,处理器410可以设置为与存储介质430通信,在kudu表更新设备400上执行存储介质430中的一系列指令操作。
基于kudu表更新设备400还可以包括一个或一个以上电源440,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口460,和/或,一个或一个以上操作***431,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4示出的kudu表更新设备结构并不构成对基于kudu表更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述kudu表更新方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种kudu表更新方法,其特征在于,包括步骤:
基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;
根据所述同步指令,对预置监控日志进行解析转换处理,得到所述监控日志对应的JSON串;
根据预置转换算法,将所述JSON串转换为Java对象数据;
判断所述table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;
若存在修改,则根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表;
其中,在所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令之后,在所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表之前,还包括:
基于所述table.json配置文件,获取kudu服务组件的会话数据;
将所述会话数据对应所述kudu表的数据转换为K-V形式存储在Map容器中;
其中,在所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令之后,在所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表之前,还包括:
根据所述table.json配置文件,对预置kudu创建操作组件进行设置处理,获取数据操作设置;
将所述数据操作设置转换为K-V形式存储在Map容器中。
2.根据权利要求1所述的kudu表更新方法,其特征在于,在所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令之前,还包括:
获取table.json配置文件,访问预置MySQL数据库,解析所述table.json配置文件对应的数据,生成kudu建表语句;
基于预置Impala组件,对所述kudu建表语句进行执行处理,生成kudu表;
执行预置DataX任务数据,将历史数据同步至所述kudu表中。
3.根据权利要求1所述的kudu表更新方法,其特征在于,所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表包括:
根据所述Java对象数据,对所述Map容器进行查询处理,得到所述Java对象数据对应的数据操作设置、所述kudu表的数据;
将所述Java对象数据转换为K-V形式数据,得到Java对象K-V数据;
根据所述Java对象K-V数据,对所述Java对象数据对应的数据操作设置、所述kudu表的数据进行修改处理,得到Map容器的映射修改数据;
基于所述映射修改数据,对所述kudu表进行修改处理,生成更新的kudu表。
4.根据权利要求1所述的kudu表更新方法,其特征在于,在所述根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表之后,还包括:
基于预置Impala组件,对所述更新的kudu表进行查询处理,得到更新日志,以及将所述更新日志上传至云端数据库。
5.根据权利要求1所述的kudu表更新方法,其特征在于,所述基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令包括:
基于预置table.json配置文件,通过StreamX组件读取FlinkCDC任务,生成所述table.json配置文件对应的kudu表的同步指令。
6.一种kudu表更新装置,其特征在于,所述kudu表更新装置包括:
指令生成模块,用于基于预置table.json配置文件,触发FlinkCDC任务,生成预置kudu表的同步指令;
日志处理模块,用于根据所述同步指令,对预置监控日志进行解析转换处理,得到所述监控日志对应的JSON串;
对象转换模块,用于根据预置转换算法,将所述JSON串转换为Java对象数据;
判断模块,用于判断所述table.json配置文件中的配置字段与kudu表中对应字段是否存在修改;
匹配修改模块,用于若存在修改,则根据所述Java对象数据,对所述kudu表进行映射匹配修改处理,生成更新的kudu表;
其中,所述kudu表更新装置还包括会话转换模块,所述会话转换模块具体用于:
基于所述table.json配置文件,获取kudu服务组件的会话数据;
将所述会话数据对应所述kudu表的数据转换为K-V形式存储在Map容器中;
其中,所述kudu表更新装置还包括设置转换模块,所述设置转换模块具体用于:
根据所述table.json配置文件,对预置kudu创建操作组件进行设置处理,获取数据操作设置;
将所述数据操作设置转换为K-V形式存储在Map容器中。
7.一种kudu表更新设备,其特征在于,所述kudu表更新设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述kudu表更新设备执行如权利要求1-5中任一项所述的kudu表更新方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的kudu表更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210972152.2A CN115328928B (zh) | 2022-08-15 | 2022-08-15 | kudu表更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210972152.2A CN115328928B (zh) | 2022-08-15 | 2022-08-15 | kudu表更新方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115328928A CN115328928A (zh) | 2022-11-11 |
CN115328928B true CN115328928B (zh) | 2023-07-25 |
Family
ID=83923513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210972152.2A Active CN115328928B (zh) | 2022-08-15 | 2022-08-15 | kudu表更新方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328928B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116386799B (zh) * | 2023-06-05 | 2023-08-18 | 数据空间研究院 | 一种医疗数据采集与标准转换方法及*** |
CN117289992A (zh) * | 2023-09-04 | 2023-12-26 | 九科信息技术(深圳)有限公司 | Rpa指令执行方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9633060B2 (en) * | 2015-05-14 | 2017-04-25 | Walleye Software, LLC | Computer data distribution architecture with table data cache proxy |
US10146854B2 (en) * | 2016-02-29 | 2018-12-04 | International Business Machines Corporation | Continuous automatic update statistics evaluation using change data capture techniques |
CN107784098A (zh) * | 2017-10-24 | 2018-03-09 | 百味云科技股份有限公司 | 实时数据仓库平台 |
CN109684331A (zh) * | 2018-12-20 | 2019-04-26 | 浪潮软件股份有限公司 | 一种基于Kudu的对象存储元数据管理装置及方法 |
CN114756630B (zh) * | 2022-04-18 | 2024-04-19 | 焦点科技股份有限公司 | 一种基于Flink状态的实时数仓建设方法 |
CN114741400A (zh) * | 2022-05-31 | 2022-07-12 | 辽宁华盾安全技术有限责任公司 | 一种数据同步及解析方法、装置及终端设备 |
-
2022
- 2022-08-15 CN CN202210972152.2A patent/CN115328928B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115328928A (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115328928B (zh) | kudu表更新方法、装置、设备及存储介质 | |
CN109284334B (zh) | 实时数据库同步方法、装置、电子设备及存储介质 | |
CN109656934B (zh) | 基于日志解析的源端Oracle数据库DDL同步方法及设备 | |
CN113420026B (zh) | 数据库表结构变更方法、装置、设备及存储介质 | |
CN110737594B (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN112347071B (zh) | 一种配电网云平台数据融合方法及配电网云平台 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
CN112084249A (zh) | 一种访问记录提取方法及装置 | |
CN111400303B (zh) | 智能合约数据提取和同步方法、*** | |
CN111443901A (zh) | 一种基于Java反射的业务扩展方法及装置 | |
CN111563131A (zh) | 数据库实体关系生成方法、装置、计算机设备和存储介质 | |
CN112506969A (zh) | 一种bmc地址查询方法、***、设备及可读存储介质 | |
CN112286557B (zh) | 一种非覆盖式更新代码内容的方法和装置 | |
CN113778947A (zh) | 一种kafka流处理平台的数据导入方法、装置及设备 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN108073582A (zh) | 一种计算框架选择方法和装置 | |
CN113515564A (zh) | 基于j2ee的数据访问方法、装置、设备及存储介质 | |
CN112579406B (zh) | 一种日志调用链生成方法和装置 | |
CN108717438B (zh) | 一种链式数据状态采集***及方法 | |
CN109068286B (zh) | 一种信息解析的方法、介质及设备 | |
CN115544089A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115878721A (zh) | 一种数据同步方法、装置、终端和计算机可读存储介质 | |
CN112685435A (zh) | 一种基于Vue和Mybatis的表格查询方法及*** | |
CN115168363B (zh) | 元数据的处理方法、装置、电子设备及存储介质 | |
KR20160031807A (ko) | 스프레드시트 기반 빅데이터 분석 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |