CN114461596A - 一种基于Spark平台的多源数据同步方法、装置及系统 - Google Patents
一种基于Spark平台的多源数据同步方法、装置及系统 Download PDFInfo
- Publication number
- CN114461596A CN114461596A CN202111596760.XA CN202111596760A CN114461596A CN 114461596 A CN114461596 A CN 114461596A CN 202111596760 A CN202111596760 A CN 202111596760A CN 114461596 A CN114461596 A CN 114461596A
- Authority
- CN
- China
- Prior art keywords
- synchronization
- synchronous
- task
- spark
- source
- 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.)
- Pending
Links
Images
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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于Spark平台的多源数据同步方法、装置及系统,涉及数据同步技术领域。本发明所述的基于Spark平台的多源数据同步方法,包括:基于Spark框架封装多种数据源接口,构建通用同步工具类jar包;根据同步工具参数要求配置同步参数生成JSON参数文件,根据所述JSON参数文件创建同步任务;通过调用所述通用同步工具类jar包触发所述同步任务执行,获取与所述同步任务对应的执行日志信息,根据所述执行日志信息判断是否同步成功。本发明所述的技术方案,通过封装多种数据源接口并采用同步参数配置化方法来简化数据同步任务,有效提高了多源数据同步执行效率,且涵盖了Spark平台下所有支持数据源的接入和输出方式,使得跨数据源整合处理变得高效便捷。
Description
技术领域
本发明涉及数据同步技术领域,具体而言,涉及一种基于Spark平台的多源数据同步方法、装置及系统。
背景技术
Spark是一个优秀的分布式数据处理工具,可以利用Spark提供的丰富的API对数据进行加工处理,但每个API读取都需要进行代码编写,整套逻辑的开发是个不小的工程,需要一定的Spark基础以及使用经验才能开发出稳定高效的Spark代码。除此之外,项目的编译、打包、部署以及测试都比较繁琐,会带来不少得时间成本和学习成本,最终会影响Spark在多源数据同步的效率。
发明内容
本发明解决的问题是如何提高Spark在多源数据同步的效率。
为解决上述问题,本发明提供一种基于Spark平台的多源数据同步方法,包括:基于Spark框架封装多种数据源接口,构建通用同步工具类jar包;根据同步工具参数要求配置同步参数生成JSON参数文件,根据所述JSON参数文件创建同步任务;通过调用所述通用同步工具类jar包触发所述同步任务执行,获取与所述同步任务对应的执行日志信息,根据所述执行日志信息判断是否同步成功。
本发明所述的基于Spark平台的多源数据同步方法,通过封装多种数据源接口并采用同步参数配置化方法来简化数据同步任务,有效提高了多源数据同步执行效率,且涵盖了Spark平台下所有支持数据源的接入和输出方式,并支持所有基于Spark平台下的数据处理和加工操作,在资源允许的情况下可以支持一个或N多个源端同步至一个或N多个目标端,使得跨数据源整合处理变得高效便捷。
可选地,所述数据源接口包括JDBC接口、Hive接口、ElasticSearch接口以及kafka接口。
本发明所述的基于Spark平台的多源数据同步方法,通过设置多种数据源接口,有利于实现Spark平台下的多源数据整合。
可选地,所述根据同步工具参数要求配置同步参数生成JSON参数文件包括:配置Spark运行参数、输入端Source参数、数据处理Fliter参数和结果输出Target参数,并生成对应的JSON参数文件。
本发明所述的基于Spark平台的多源数据同步方法,通过设置同步参数配置项,从而能够创建同步任务。
可选地,所述根据所述JSON参数文件创建同步任务包括:根据所述同步任务生成对应的同步任务信息,根据所述同步任务信息创建同步作业。
本发明所述的基于Spark平台的多源数据同步方法,根据同步任务生成的同步任务信息创建同步作业,从而可以实现同步任务的顺利执行。
可选地,所述根据所述JSON参数文件创建同步任务还包括:为所述同步任务配置调度时间和执行频率,以使所述同步任务按照设定时间执行。
本发明所述的基于Spark平台的多源数据同步方法,通过为同步任务配置调度时间和执行频率,使得同步任务安排制定的时间进行执行。
可选地,所述通过调用所述通用同步工具类jar包触发所述同步任务执行包括:将多源数据统一整合到Spark平台下,并在所述Spark平台上进行数据清洗、数据表JOIN以及数据分析。
本发明所述的基于Spark平台的多源数据同步方法,通过执行同步任务将多源数据统一整合到Spark平台下,实现了Spark平台下的多源数据整合。
可选地,所述根据所述执行日志信息判断是否同步成功包括:若所述执行日志信息被保存,则判断同步成功,若出现错误提示,则进行异常结果告警。
本发明所述的基于Spark平台的多源数据同步方法,根据执行日志信息判断同步成功或进行异常结果告警,实现了多源数据同步检查。
本发明还提供一种基于Spark平台的多源数据同步装置,包括:封装模块,用于基于Spark框架封装多种数据源接口,构建通用同步工具类jar包;创建模块,用于根据同步工具参数要求配置同步参数生成JSON参数文件,根据所述JSON参数文件创建同步任务;同步模块,用于通过调用所述通用同步工具类jar包触发所述同步任务执行,获取与所述同步任务对应的执行日志信息,根据所述执行日志信息判断是否同步成功。所述基于Spark平台的多源数据同步装置与上述基于Spark平台的多源数据同步方法相对于现有技术所具有的优势相同,在此不再赘述。
本发明还提供一种基于Spark平台的多源数据同步系统,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如上基于Spark平台的多源数据同步方法。所述基于Spark平台的多源数据同步系统与上述基于Spark平台的多源数据同步方法相对于现有技术所具有的优势相同,在此不再赘述。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上基于Spark平台的多源数据同步方法。所述计算机可读存储介质上述基于Spark平台的多源数据同步方法相对于现有技术所具有的优势相同,在此不再赘述。
附图说明
图1为本发明实施例的基于Spark平台的多源数据同步方法的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
如图1所示,本发明实施例提供一种基于Spark平台的多源数据同步方法,包括:基于Spark框架封装多种数据源接口,构建通用同步工具类jar包;根据同步工具参数要求配置同步参数生成JSON参数文件,根据所述JSON参数文件创建同步任务;通过调用所述通用同步工具类jar包触发所述同步任务执行,获取与所述同步任务对应的执行日志信息,根据所述执行日志信息判断是否同步成功。
具体地,在本实施例中,基于Spark平台的多源数据同步方法,包括:基于Spark框架封装多种数据源接口,构建通用同步工具类jar包,为了提高Spark在多源数据整合处理的执行效率和降低Spark同步任务的复杂度,需要对Spark各种API及插件进行整合优化,将Spark同步模块进行代码封装,形成通用同步工具包,集成到统一数据同步系统;通过配置同步任务信息,形成JSON参数文件,系统会根据参数文件自动创建同步任务,设置相应的调度时间,系统后台按时通过调用通用工具类jar包来触发同步任务的执行,将多源数据统一整合到Spark平台下,然后在Spark平台上进行数据的清洗,数据表的JOIN以及数据分析等操作,最后将相应的处理结果写入到目标端。由于无需编写Spark代码,直接通过页面简单的参数配置即可完成不同数据源间的同步和逻辑处理任务,大大提高工作效率,并支持同步任务的执行调度及详细日志监控功能。
其中,系统一般按照数据源-同步配置项-Spark数据整合-Spark数据处理-结果输出(结果输出端是数据同步的目标端,可将数据处理结果同步至一个或多个目标数据端)的步骤进行。
其中,本实施例支持多种数据源,可自定义JDBC方式,任意两种JDBC之间可以相互同步,通用性高,且灵活性较好。实现跨数据源(只要支持Spark的JDBC方式均可)的同步,不仅支持传统数据库之间的同步,也支持传统数据库与大数据数据库互相同步,同时还支持kafka消息队列方式的同步。
其中,本实施例支持多源数据表的整合,根据第一步配置的数据源表,将数据源表(例如数据源1表1、数据源2表2等等)统一汇总到spark内存中进行缓存,也即将不同数据源表整合到同一spark环境下。可以实现不同源数据表的整合,解决了跨数据库的表无法关联的问题。
其中,本实施例支持数据加工等过滤操作,在源和目标同步过程中,支持添加过滤条件自定义Filter,并支持多个表的关联过滤操作,比如数据源1的表1和数据源2的表2进行join和where条件的处理。优点在于灵活配置,可以自定义SQL过滤语句。
其中,本实施例支持输出多个目标数据库,通过加工处理后的结果表,可同时向多个目标端进行同步,支持一对多同步,同时还支持多对多同步。好处在于支持向多个目标多同时同步,而不是每次只能同步都一个目标端。
在本实施例中,通过封装多种数据源接口并采用同步参数配置化方法来简化数据同步任务,有效提高了多源数据同步执行效率,且涵盖了Spark平台下所有支持数据源的接入和输出方式,并支持所有基于Spark平台下的数据处理和加工操作,在资源允许的情况下可以支持一个或N多个源端同步至一个或N多个目标端,使得跨数据源整合处理变得高效便捷。
可选地,所述数据源接口包括JDBC接口、Hive接口、ElasticSearch接口以及kafka接口。
具体地,在本实施例中,数据源接口包括JDBC接口、Hive接口、ElasticSearch接口以及kafka接口,在封装时,需要封装Spark同步接口工具类,各种JDBC接口,Hive数据仓库,ElasticSearch以及kafka,同步工具需对上述数据源接口进行封装,包括SparkSQL访问如上几种类型的方法和读取源数据的方法以及访问JSON参数的方法等等,进行统一封装,并且支持后续数据源类型对于接口的扩展。
在本实施例中,通过设置多种数据源接口,有利于实现Spark平台下的多源数据整合。
可选地,所述根据同步工具参数要求配置同步参数生成JSON参数文件包括:配置Spark运行参数、输入端Source参数、数据处理Fliter参数和结果输出Target参数,并生成对应的JSON参数文件。
具体地,在本实施例中,同步参数配置主要包括四部分:
(1)Spark基础配置:主要配置Spark运行的参数,控制Spark运行内存、核数以及执行器个数等资源配置信息。
(2)source输入数据源配置:配置相应的数据源信息,包括JDBC信息、数据表、用户名及密码等信息,该配置项支持同时配置一个或多个JDBC项,同一个任务支持同时读取多源数据表。
(3)Filter中间计算配置:该配置及相关处理均在Spark平台进行,所以所使用的的函数及方法都必须依赖于Spark平台,此配置主要是SQL语句,且支持变量参数作为查询条件。
(4)target输出数据源配置:配置相应的目标端数据源信息,包括JDBC信息、数据表、用户名及密码等信息,该配置项支持同时配置一个或多个JDBC项,同一个任务支持同时写多源数据表。
系统支持配置多个Source(多个数据源),经过配置Filter(过滤条件),可实现多源数据的整合处理。同时还支持多源输出,也即数据处理结果,可以同时分发到多个Target目标端。
在本实施例中,通过设置同步参数配置项,从而能够创建同步任务。
可选地,所述根据所述JSON参数文件创建同步任务包括:根据所述同步任务生成对应的同步任务信息,根据所述同步任务信息创建同步作业。
具体地,在本实施例中,在根据JSON参数文件创建同步任务后,任务会自动保存的同步任务信息,再根据同步任务信息创建同步作业。
在本实施例中,根据同步任务生成的同步任务信息创建同步作业,从而可以实现同步任务的顺利执行。
可选地,所述根据所述JSON参数文件创建同步任务还包括:为所述同步任务配置调度时间和执行频率,以使所述同步任务按照设定时间执行。
具体地,在本实施例中,根据JSON参数文件创建同步任务还包括:为同步任务配置调度时间和执行频率,使得同步任务安排制定的时间进行执行,系统对执行情况进行日志记录和监控。
在本实施例中,通过为同步任务配置调度时间和执行频率,使得同步任务安排制定的时间进行执行。
可选地,所述通过调用所述通用同步工具类jar包触发所述同步任务执行包括:将多源数据统一整合到Spark平台下,并在所述Spark平台上进行数据清洗、数据表JOIN以及数据分析。
具体地,在本实施例中,Spark数据整合包括Spark缓存空间,可以将Source端配置的一个或多个数据源同步至Spark平台,进行临时缓存;Spark数据处理包括数据清洗、多表join和数据分析,可通过SQL进行过滤,踢重,关联JOIN以及数据分析等操作,也可留空不做处理。
在本实施例中,通过执行同步任务将多源数据统一整合到Spark平台下,实现了Spark平台下的多源数据整合。
可选地,所述根据所述执行日志信息判断是否同步成功包括:若所述执行日志信息被保存,则判断同步成功,若出现错误提示,则进行异常结果告警。
具体地,在本实施例中,根据同步任务执行情况,查看对应的执行日志信息,若执行日志信息被保存,则判断同步成功,若出现错误提示,则说明存在异常同步,需要进行异常结果告警。
在本实施例中,根据执行日志信息判断同步成功或进行异常结果告警,实现了多源数据同步检查。
本发明另一实施例提供一种基于Spark平台的多源数据同步装置,包括:封装模块,用于基于Spark框架封装多种数据源接口,构建通用同步工具类jar包;创建模块,用于根据同步工具参数要求配置同步参数生成JSON参数文件,根据所述JSON参数文件创建同步任务;同步模块,用于通过调用所述通用同步工具类jar包触发所述同步任务执行,获取与所述同步任务对应的执行日志信息,根据所述执行日志信息判断是否同步成功。
本发明另一实施例提供一种基于Spark平台的多源数据同步系统,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如上基于Spark平台的多源数据同步方法。
本发明另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上基于Spark平台的多源数据同步方法。
虽然本发明公开披露如上,但本发明公开的保护范围并非仅限于此。本领域技术人员在不脱离本发明公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
Claims (10)
1.一种基于Spark平台的多源数据同步方法,其特征在于,包括:
基于Spark框架封装多种数据源接口,构建通用同步工具类jar包;
根据同步工具参数要求配置同步参数生成JSON参数文件,根据所述JSON参数文件创建同步任务;
通过调用所述通用同步工具类jar包触发所述同步任务执行,获取与所述同步任务对应的执行日志信息,根据所述执行日志信息判断是否同步成功。
2.根据权利要求1所述的基于Spark平台的多源数据同步方法,其特征在于,所述数据源接口包括JDBC接口、Hive接口、ElasticSearch接口以及kafka接口。
3.根据权利要求1所述的基于Spark平台的多源数据同步方法,其特征在于,所述根据同步工具参数要求配置同步参数生成JSON参数文件包括:
配置Spark运行参数、输入端Source参数、数据处理Fliter参数和结果输出Target参数,并生成对应的JSON参数文件。
4.根据权利要求1所述的基于Spark平台的多源数据同步方法,其特征在于,所述根据所述JSON参数文件创建同步任务包括:
根据所述同步任务生成对应的同步任务信息,根据所述同步任务信息创建同步作业。
5.根据权利要求4所述的基于Spark平台的多源数据同步方法,其特征在于,所述根据所述JSON参数文件创建同步任务还包括:
为所述同步任务配置调度时间和执行频率,以使所述同步任务按照设定时间执行。
6.根据权利要求1所述的基于Spark平台的多源数据同步方法,其特征在于,所述通过调用所述通用同步工具类jar包触发所述同步任务执行包括:
将多源数据统一整合到Spark平台下,并在所述Spark平台上进行数据清洗、数据表JOIN以及数据分析。
7.根据权利要求1所述的基于Spark平台的多源数据同步方法,其特征在于,所述根据所述执行日志信息判断是否同步成功包括:
若所述执行日志信息被保存,则判断同步成功,若出现错误提示,则进行异常结果告警。
8.一种基于Spark平台的多源数据同步装置,其特征在于,包括:
封装模块,用于基于Spark框架封装多种数据源接口,构建通用同步工具类jar包;
创建模块,用于根据同步工具参数要求配置同步参数生成JSON参数文件,根据所述JSON参数文件创建同步任务;
同步模块,用于通过调用所述通用同步工具类jar包触发所述同步任务执行,获取与所述同步任务对应的执行日志信息,根据所述执行日志信息判断是否同步成功。
9.一种基于Spark平台的多源数据同步系统,其特征在于,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如权利要求1至7任一项所述的基于Spark平台的多源数据同步方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如权利要求1至7任一项所述的基于Spark平台的多源数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596760.XA CN114461596A (zh) | 2021-12-24 | 2021-12-24 | 一种基于Spark平台的多源数据同步方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596760.XA CN114461596A (zh) | 2021-12-24 | 2021-12-24 | 一种基于Spark平台的多源数据同步方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114461596A true CN114461596A (zh) | 2022-05-10 |
Family
ID=81408186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111596760.XA Pending CN114461596A (zh) | 2021-12-24 | 2021-12-24 | 一种基于Spark平台的多源数据同步方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461596A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145992A (zh) * | 2022-09-05 | 2022-10-04 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
CN115529306A (zh) * | 2022-07-22 | 2022-12-27 | 四川启睿克科技有限公司 | 一种基于springboot的spark jar包远程提交方法 |
-
2021
- 2021-12-24 CN CN202111596760.XA patent/CN114461596A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529306A (zh) * | 2022-07-22 | 2022-12-27 | 四川启睿克科技有限公司 | 一种基于springboot的spark jar包远程提交方法 |
CN115529306B (zh) * | 2022-07-22 | 2024-05-17 | 四川启睿克科技有限公司 | 一种基于springboot的spark jar包远程提交方法 |
CN115145992A (zh) * | 2022-09-05 | 2022-10-04 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582660B (zh) | 数据血缘分析方法、装置、设备、系统及可读存储介质 | |
CN107368503B (zh) | 基于Kettle的数据同步方法和系统 | |
US9934276B2 (en) | Systems and methods for fault tolerant, adaptive execution of arbitrary queries at low latency | |
CN114461596A (zh) | 一种基于Spark平台的多源数据同步方法、装置及系统 | |
CN109376196B (zh) | 一种redo日志批量同步方法及装置 | |
CN102982075A (zh) | 支持访问异构数据源的系统和方法 | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
CN107180053B (zh) | 一种数据仓库优化方法和装置 | |
CN112988782B (zh) | Hive支持交互式查询的方法、装置及存储介质 | |
CN109408493A (zh) | 一种数据源的迁移方法及系统 | |
US20160291564A1 (en) | Programmable logic controller, data collection apparatus, database access method, and database access program | |
CN114741375A (zh) | 一种多源异构数据库快速自动数据迁移系统及方法 | |
KR101790766B1 (ko) | 데이터의 검색 방법, 장치 및 단말기 | |
CN111897808B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
AU2017254893A1 (en) | Adapting database queries for data virtualization over combined database stores | |
CN111966760B (zh) | 基于Hive数据仓库的测试数据生成方法及装置 | |
CN114780641A (zh) | 多库多表同步方法、装置、计算机设备和存储介质 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
CN114238463A (zh) | 一种用于分布式指标计算的计算引擎控制方法和装置 | |
CN113342679A (zh) | 接口测试方法及测试装置 | |
CN112579604A (zh) | 测试系统的造数方法、装置、设备及存储介质 | |
CN112579676A (zh) | 异构系统间的数据处理方法、装置、存储介质和设备 | |
CN115982278A (zh) | 基于mpp数据库的自助式实时数据比对方法及系统 | |
CN114547206A (zh) | 一种数据同步方法和数据同步系统 | |
CN111858616A (zh) | 流式数据存储方法及装置 |
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 |