数据同步生成方法、装置、计算机设备以及存储介质与流程

文档序号:16972994发布日期:2019-02-26 18:43阅读:248来源:国知局
数据同步生成方法、装置、计算机设备以及存储介质与流程
本申请涉及到大数据领域,特别是涉及到数据同步生成方法、装置、计算机设备以及存储介质。
背景技术
:现有的关系数据库中的数据需同步到大数据平台,才能被应用于不同的应用领域,才能不断地扩充大数据平台的数据量,以便将特定关系数据库中的数据共享给其他的关系数据库。现有关系数据库的权限较严格,其他关系数据库不能从指定关系数据库中直接获取相应信息,且由于各关系数据库的数据类型不具有兼容性,其他关系数据库也不能直接识别指定关系数据库中数据,需要将关系数据库同步到大数据平台,然后再进行共享,但目前项目没有sqoop(一款开源的工具,主要用于在hadoop(hive)与传统的数据库间进行数据传递)数据同步自动生成工具,需要人工参与撰写脚本代码、容易出现代码错误,且工作量大,产品上线需要的时间较长,工作效率不高。技术实现要素:本申请的主要目的为提供一种将大数据平台的数据同步到关系数据库的数据同步生成方法,旨在解决大数据平台的数据同步到关系数据库时均需人工参与,工作效率不高的技术问题。本申请提出一种数据同步生成方法,将大数据平台的数据同步到关系数据库包括:在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构,以获取所述配置表格的各配置信息;根据所述表结构中携带的表名创建所述关系数据库对应的视图文件;对所述视图文件进行授权生成授权文件;根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句;将所述调度任务、脚本和建表语句分别传输至所述关系数据库的指定位置,以调度大数据平台的指定数据到关系数据库。优选地,所述在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构的步骤之前,包括:接收各所述配置信息分别对应的字段,其中各所述配置信息根据任务协议配置到配置表格内;检测各所述字段是否符合预设的配置规则;若是,则生成读取所述配置表格的表结构的指令。优选地,所述检测各所述字段是否符合预设的配置规则的步骤,包括:获取各字段分别对应的字段内容;判断各所述字段内容的书写方式是否与预设配置规则中的各书写规则一一对应匹配;若是,则判定所述配置表格的各字段符合预设配置规则,否则所述配置表格的各字段不符合预设配置规则。优选地,所述根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句的步骤,包括:根据授权文件将所述视图文件生成大数据平台对应的关系数据库的数据表;根据所述数据表携带的抽数模式构建对应的脚本和建表语句;根据所述脚本和建表语句自动生成对应的调度任务,所述调度任务用于调度所述大数据平台的指定数据到关系数据库。优选地,所述根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为全量抽取;若是,则抽取所述表结构中携带的表名对应的所有表数据至所述数据表;将所述数据表形成对应全量数据的第一脚本和第一建表语句。优选地,所述根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为增量抽取;若是,则分别抽取所述表结构中携带的表名对应的初始化表和增量表;将所述初始化表和增量表合并为所述数据表;将所述数据表形成对应增量数据的第二脚本和第二建表语句。优选地,所述根据所述脚本和建表语句自动生成对应的调度大数据平台的指定数据到关系数据库的调度任务的步骤,包括:判断获取的初始化表任务、获取增量表任务以及合并所述初始化表和增量表的任务的依赖关系是否正确;若是,则根据所述第二脚本和第二建表语句自动生成调度任务。本申请还提供了一种数据同步生成装置,包括:读取模块,用于在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构,以获取所述配置表格的各配置信息;创建模块,用于根据所述表结构中携带的表名创建所述关系数据库对应的视图文件;授权模块,用于对所述视图文件进行授权生成授权文件;生成模块,用于根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句;传输模块,用于将所述调度任务、脚本和建表语句分别传输至所述关系数据库的指定位置,以调度大数据平台的指定数据到关系数据库。本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。本申请通过开发了sqoop数据同步自动生成工具,能自动生成sqoop数据同步的脚本文件和建表语句,直接进行部署(挂在另外一个平台上面),通过平台进行控制脚本文件的按天、周、月、季、年等进行同步,还可以设置每天几点执行,是否需要执行等,脚本文件内容规范化方便查看、脚本日志可追踪,脚本运行平台统一、集中,方便一个运营人员统管所有脚本运行情况,相比于将数据直接传输到指定平台更方便管控。提高sqoop数据同步的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高sqoop数据同步自动生成工具的准确性,以及流程流畅化。通过不同的抽取方式自动选择sqoop数据同步生成对应的脚本和建表语句,以满足不同的任务需求,扩大sqoop数据同步自动生成工具的应用领域。附图说明图1本申请一实施例的数据同步生成方法的流程示意图;图2本申请一实施例的数据同步生成装置的结构示意图;图3本申请另一实施例的数据同步生成装置的结构示意图;图4本申请一实施例的监测模块的结构示意图;图5本申请一实施例的第一生成模块的结构示意图;图6本申请一实施例的第二构建单元的结构示意图;图7本申请另一实施例的第二构建单元的结构示意图;图8本申请另一实施例的生成单元的结构示意图;图9本申请一实施例的计算机设备的内部结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。参照图1,本申请一实施例的将大数据平台的数据同步到关系数据库的数据同步生成方法,包括:s1:在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构,以获取所述配置表格的各配置信息。本实施例的关系数据库是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格,每个表格包含用列表示的一个或更多的数据种类。本实施例的关系数据库包括oracle、db2、sqlserver、sybase、mysql、pg等。本实施例的表结构包括,表名称、库名称、表中包括哪些字段、各字段的描述信息等。举例地,本实施例的表结构的参数表如下:是否处理表示此条记录是否处理用户指hadoop用户,如hduser0101库名指hive库,如sx_360_safe源表填写关系型数据库表名主键填写对应表的主键更新字段填写对应表的更新字段数据库类型填写oracle,postgresql,mysql3选1是否维表填y/n源库实例名只能在提供的列表中选择抽数模式全量或增量分区字段可选,如有填,那么结果表会再有分区分区字段值可选,如有填,那么结果表会再有分区动态分区字段值可选,如有填,那么结果表会再有分区表描述hive表描述部署目录按实际填写,如金额家的可以写hive_app版本填版本号s2:根据所述表结构中携带的表名创建所述关系数据库对应的视图文件。本实施例基于对关系数据库的数据使用权限管控问题,需要将大数据平台的同步数据表生成对应的关系数据库的视图文件,以便管控关系数据库的数据使用权限,本实施例通过形成视图文件,用户只能从视图文件中看到同步数据表对应的值,而不能对同步数据表对应的值进行改变,以保证关系数据库的数据安全性。s3:对所述视图文件进行授权生成授权文件。通过授权文件,用户才可以获得浏览关系数据库对应的视图文件的权限,以进一步管控关系数据库的数据安全性。s4:根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句。本实施例以从大数据平台到关系数据库的sqoop数据同步自动生成为例,根据授权文件获取所述视图文件的相应内容,才能得到视图文件中包括的配置信息,然后通过调用程序,将上述配置信息自动生成关系数据库对应的标准化的sqoop同步脚本和建表语句,本实施例根据sqoop同步脚本和建表语句自动生成从大数据平台向关系数据库同步数据的调度任务,省却了人工参与代码编程的过程,提高了代码的准确度,而且极大的提高了工作效率,相比于人工编写代码脚本,工作效率提升几倍甚至几十倍。s5:将所述调度任务、脚本和建表语句分别传输至所述关系数据库的指定位置,以调度大数据平台的指定数据到关系数据库。本实施例通过部署文档将所述调度任务、脚本和建表语句分别传输至所述关系数据库的指定位置,本实施例的部署文档用于生产部署,生成过程逻辑根据用户自定义的配置信息经程序处理后自动生成。进一步地,本实施例的步骤s1之前,包括:s10:接收各所述配置信息分别对应的字段,其中各所述配置信息根据任务协议配置到配置表格内。本实施例的任务协议为任务双方协商的协议,任务协议中包括了配置规则等内容,以便任务双方共同协同完成相应的任务。s11:检测各所述字段是否符合预设的配置规则。本实施例的配置规则具体到配置表格中每一列字段的匹配规则,举例地,某字段的开始要以字母开始,以数字结束等。s12:若是,则生成读取所述配置表格的表结构的指令。本实施例在检测完各字段的书写方式符合任务协议的配置规则后,再在大数据平台中读取待同步数据的配置表格的表结构,以减少读取表结构的错误概率,提高读取信息的准确度,提高sqoop数据同步自动生成的效率。进一步地,本实施例的步骤s11,包括:s111:获取各字段分别对应的字段内容。本实施例的配置表格中,每一列的字段各代表不同内容,比如,表名、库名、任务、任务依赖关系等。s112:判断各所述字段内容的书写方式是否与预设配置规则中的各书写规则一一对应匹配。本实施例的每个字段对应的匹配规则也不同,比如,任务名最好不用中文,任务依赖关系用英文逗号表示,如任务名一列为‘a’,任务依赖关系一列为‘e,f’,则表示任务a依赖于任务e,f,表示只有任务e,f为已完成的有效任务时,任务a才能进行。s113:若是,则判定所述配置表格的各字段符合预设配置规则,否则所述配置表格的各字段不符合预设配置规则。本实施例的字符段只有在符合相应的匹配规则后,才被正确识别,否则报错,报错后将导致后续的流程无法继续进行,影响自动生成相应脚本的过程。进一步地,本实施例的步骤s4,包括:s40:根据授权文件将所述视图文件生成大数据平台对应的关系数据库的数据表。本实施例通过在大数据平台构建关系数据库中可识别的数据表,以便将sqoop数据同步到数据表中,然后再发送至关系数据库。大数据平台的数据结构为字符型,以提高各种领域的数据的容纳性、兼容性。但关系数据库的数据类型比较单一,比如为字符串型或数字型,将字符型的数据直接传输至关系数据库则不被识别,所以要在大数据平台中构建关系数据库的数据表。根据关系数据中的各字段的具体形式将大数据平台的同步数据对应的字符转变为对应的字符串或数字。s41:根据所述数据表携带的抽数模式构建对应的脚本和建表语句。本实施例的抽数模式表示构建关系数据库的数据表的规范方式,包括全量抽数方式和增量抽数方式。增量抽数只抽取大数据平台中对应同步数据的表名的表中的新增或修改数据,应用范围更广泛,抽取数据更及时。本实施例的全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同。s42:根据所述脚本和建表语句自动生成对应的调度任务,所述调度任务用于调度大数据平台的指定数据到关系数据库。本实施例全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同,本实施例全量抽数方式和增量抽数方式所分别对应的调度任务也不同。进一步地,本实施例的步骤s41,包括:s410:判断所述抽数模式是否为全量抽取。本实施例根据要抽取的数据覆盖范围为某个表名中表数据全覆盖,则为全量抽取,对应的抽数任务只有一个。s411:若是,则抽取所述表结构中携带的表名对应的所有表数据至所述数据表。本实施例的全量抽取方式中,执行一次相应的抽数任务则一次性抽取表名对应表数据中的所有数据,并生成对应的sqoop数据脚本和全量抽取对应的建表语句。s412:将所述数据表形成对应全量数据的第一脚本和第一建表语句。本实施例的全量抽取方式的sqoop数据脚本和建表语句对应为第一脚本和第一建表语句,以区别于增量抽取方式下的脚本和建表语句。此处的“第一”只为区别,不作限定,本申请其他处的“第一”、“第二”等作用相同,不赘述。进一步地,本申请另一实施例的步骤s41,包括:s413:判断所述抽数模式是否为增量抽取。本实施例通过要抽取的数据覆盖范围为某个表名中表数据的部分,且通过数据形成的时间戳或运行日志判断要抽取的部分数据为新增加或新修改的数据内容,则为增量抽取。s414:若是,则分别抽取所述表结构中携带的表名对应的初始化表和增量表。本实施例的增量抽取中首先包括两个任务,一个抽取原始基本数据形成初始化表,另一个任务是抽取新增加或新修改的数据内容形成增量表,根据区分初始化表和增量表,增大数据的应用范围。s415:将所述初始化表和增量表合并为所述数据表。本实施例在增量抽取的方式中,即生成初始化表和增量表两个任务后,还包括第三个任务,将上述初始化表和增量表进行合并,生成对应的关系数据库可识别的字符串或数字的数据表。s416:将所述数据表形成对应增量数据的第二脚本和第二建表语句。本实施例的sqoop数据的增量抽取方式,任务流程细节不同于全量抽取方式,必然使得增量数据的第二脚本和第二建表语句,与全量抽取方式的sqoop数据对应的第一脚本和第一建表语句有着本质区别。进一步地,本申请另一实施例的步骤s42,包括:s421:判断获取的初始化表任务、获取增量表任务以及合并所述初始化表和增量表的任务的依赖关系是否正确。本实施例在增量抽取中,存在着与时间顺序相关的三个任务,需要调度平台自动识别调度三个任务的依赖关系是否正确;三个任务的是否与任务栏中的某一任务重复;或任务的字段是否合法等。本实施例主要判定三个任务的依赖关系或时间顺序是否符合要求。s422:若是,则根据所述第二脚本和第二建表语句自动生成调度任务。本实施例通过判断获取初始化表任务、获取增量表任务的任务合法,且获取初始化表任务、获取增量表任务以及合并所述初始化表和增量表的任务的依赖关系也正确,则控制自动生成标准化的sqoop数据同步脚本。本实施例通过开发了sqoop数据同步自动生成工具,能自动生成sqoop数据同步的脚本文件和建表语句,直接进行部署(挂在另外一个平台上面),通过平台进行控制脚本文件的按天、周、月、季、年等进行同步,还可以设置每天几点执行,是否需要执行等,脚本文件内容规范化方便查看、脚本日志可追踪,脚本运行平台统一、集中,方便一个运营人员统管所有脚本运行情况,相比于将数据直接传输到指定平台更方便管控。提高sqoop数据同步的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高sqoop数据同步自动生成工具的准确性,以及流程流畅化。通过不同的抽取方式自动选择sqoop数据同步生成对应的脚本和建表语句,以满足不同的任务需求,扩大sqoop数据同步自动生成工具的应用领域。参照图2,本申请一实施例的将大数据平台的数据同步到关系数据库的数据同步生成装置,包括:读取模块1,用于在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构,以获取所述配置表格的各配置信息。本实施例的关系数据库是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格,每个表格包含用列表示的一个或更多的数据种类。本实施例的关系数据库包括oracle、db2、sqlserver、sybase、mysql、pg等。本实施例的表结构包括,表名称、库名称、表中包括哪些字段、各字段的描述信息等。举例地,本实施例的表结构的参数表如下:是否处理表示此条记录是否处理用户指hadoop用户,如hduser0101库名指hive库,如sx_360_safe源表填写关系型数据库表名主键填写对应表的主键更新字段填写对应表的更新字段数据库类型填写oracle,postgresql,mysql3选1是否维表填y/n源库实例名只能在提供的列表中选择抽数模式全量或增量分区字段可选,如有填,那么结果表会再有分区分区字段值可选,如有填,那么结果表会再有分区动态分区字段值可选,如有填,那么结果表会再有分区表描述hive表描述部署目录按实际填写,如金额家的可以写hive_app版本填版本号创建模块2,用于根据所述表结构中携带的表名创建所述关系数据库对应的视图文件。本实施例基于对关系数据库的数据使用权限管控问题,需要将大数据平台的同步数据表生成对应的关系数据库的视图文件,以便管控关系数据库的数据使用权限,本实施例通过形成视图文件,用户只能从视图文件中看到同步数据表对应的值,而不能对同步数据表对应的值进行改变,以保证关系数据库的数据安全性。授权模块3,用于对所述视图文件进行授权生成授权文件。通过授权文件,用户才可以获得浏览关系数据库对应的视图文件的权限,以进一步管控关系数据库的数据安全性。第一生成模块4:根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句。本实施例以从大数据平台到关系数据库的sqoop数据同步自动生成为例,根据授权文件获取所述视图文件的相应内容,才能得到视图文件中包括的配置信息,然后通过调用程序,将上述配置信息自动生成关系数据库对应的标准化的sqoop同步脚本和建表语句,本实施例根据sqoop同步脚本和建表语句自动生成从大数据平台向关系数据库同步数据的调度任务,省却了人工参与代码编程的过程,提高了代码的准确度,而且极大的提高了工作效率,相比于人工编写代码脚本,工作效率提升几倍甚至几十倍。传输模块5,用于将所述调度任务、脚本和建表语句分别传输至所述大数据平台的指定位置,以调度关系数据库的指定数据到大数据平台。本实施例通过部署文档将所述调度任务、脚本和建表语句分别传输至所述大数据平台的指定位置,本实施例的部署文档用于生产部署,生成过程逻辑根据用户自定义的配置信息经程序处理后自动生成。参照图3,本申请另一实施例的数据同步生成装置,包括:接收模块10,用于接收各所述配置信息分别对应的字段,其中各所述配置信息根据任务协议配置到配置表格内。本实施例的任务协议为任务双方协商的协议,任务协议中包括了配置规则等内容,以便任务双方共同协同完成相应的任务。监测模块11,用于检测各所述字段是否符合预设的配置规则。本实施例的配置规则具体到配置表格中每一列字段的匹配规则,举例地,某字段的开始要以字母开始,以数字结束等。第二生成模块12,用于若字段符合预设的配置规则,则生成读取所述配置表格的表结构的指令。本实施例在检测完各字段的书写方式符合任务协议的配置规则后,再在关系数据库中读取配置表格的表结构,以减少读取表结构的错误概率,提高读取信息的准确度,提高sqoop数据同步自动生成的效率。参照图4,本实施例的监测模块11,包括:获取单元111,用于获取各字段分别对应的字段内容。本实施例的配置表格中,每一列的字段各代表不同内容,比如,表名、库名、任务名、任务依赖关系等。判断单元112,用于判断各所述字段内容的书写方式是否与预设配置规则中的各书写规则一一对应匹配。本实施例的每个字段对应的匹配规则也不同,比如,任务名不能用中文,任务依赖关系用英文逗号表示,如任务名一列为‘a’,任务依赖关系一列为‘e,f’,则表示任务a依赖于任务e,f,表示只有任务e,f为已完成的有效任务时,任务a才能进行。判定单元113,用于若字段内容的书写方式与预设配置规则中的各书写规则一一对应匹配,则判定所述配置表格的各字段符合预设配置规则,否则所述配置表格的各字段不符合预设配置规则。本实施例的字符段只有在符合相应的匹配规则后,才被正确识别,否则报错,报错后将导致后续的流程无法继续进行,影响自动生成相应脚本的过程。参照图5,本实施例的第一生成模块4,包括:第一构建单元40,用于根据授权文件将所述视图文件生成大数据平台对应的大数据平台的数据表。本实施例通过在大数据平台构建关系数据库中可识别的数据表,以便将sqoop数据同步到数据表中,然后再发送至关系数据库。大数据平台的数据结构为字符型,以提高各种领域的数据的容纳性、兼容性。但关系数据库的数据类型比较单一,比如为字符串型或数字型,将字符型的数据直接传输至关系数据库则不被识别,所以要在大数据平台中构建关系数据库的数据表。根据关系数据中的各字段的具体形式将大数据平台的同步数据对应的字符转变为对应的字符串或数字。第二构建单元41,用于根据所述数据表的抽数模式构建对应的脚本和建表语句。本实施例的抽数模式表示构建大数据平台的数据表的规范方式,包括全量抽数方式和增量抽数方式。增量抽数只抽取关系数据库中对应表名的表中的新增或修改数据,应用范围更广泛,抽取数据更及时。本实施例的全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同。生成单元42,用于根据所述脚本和建表语句自动生成对应的调度任务,所述调度任务用于调度大数据平台的指定数据到关系数据库。本实施例全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同,本实施例全量抽数方式和增量抽数方式所分别对应的调度任务也不同。参照图6,本实施例的第二构建单元41,包括:第一判断子单元410,用于判断所述抽数模式是否为全量抽取。本实施例根据要抽取的数据覆盖范围为某个表名中表数据全覆盖,则为全量抽取,对应的抽数任务只有一个。第一抽取子单元411,用于若是全量抽取,则抽取所述表结构中携带的表名对应的所有表数据至所述数据表。本实施例的全量抽取方式中,执行一次相应的抽数任务则一次性抽取表名对应表数据中的所有数据,并生成对应的sqoop数据脚本和全量抽取对应的建表语句。第一形成子单元412,用于将所述数据表形成对应全量数据的第一脚本和第一建表语句。本实施例的全量抽取方式的sqoop数据脚本和建表语句对应为第一脚本和第一建表语句,以区别于增量抽取方式下的脚本和建表语句。此处的“第一”只为区别,不作限定,本申请其他处的“第一”、“第二”等作用相同,不赘述。参照图7,本申请另一实施例的第二构建单元41,包括:第二判断子单元413,用于判断所述抽数模式是否为增量抽取。本实施例通过要抽取的数据覆盖范围为某个表名中表数据的部分,且通过数据形成的时间戳或运行日志判断要抽取的部分数据为新增加或新修改的数据内容,则为增量抽取。第二抽取子单元414,用于若增量抽取,则分别抽取所述表结构中携带的表名对应的初始化表和增量表。本实施例的增量抽取中首先包括两个任务,一个抽取原始基本数据形成初始化表,另一个任务是抽取新增加或新修改的数据内容形成增量表,根据区分初始化表和增量表,增大数据的应用范围。合并子单元415,用于将所述初始化表和增量表合并为所述数据表。本实施例在增量抽取的方式中,即生成初始化表和增量表两个任务后,还包括第三个任务,将上述初始化表和增量表进行合并,生成对应的大数据平台可识别的数据表。第二形成子单元416,用于将所述数据表形成对应增量数据的第二脚本和第二建表语句。本实施例的sqoop数据的增量抽取方式,任务流程细节不同于全量抽取方式,必然使得增量数据的第二脚本和第二建表语句,与全量抽取方式的sqoop数据对应的第一脚本和第一建表语句有着本质区别。参照图8,本申请另一实施例的生成单元42,包括:第三判断子单元421,用于判断获取的初始化表任务、获取增量表任务以及合并所述初始化表和增量表的任务的依赖关系是否正确。本实施例在增量抽取中,存在着与时间顺序相关的三个任务,需要调度平台自动识别调度三个任务的依赖关系是否正确;三个任务的是否与任务栏中的某一任务重复;或任务的字段是否合法等。本实施例主要判定三个任务的依赖关系或时间顺序是否符合要求。生成子单元422:若依赖关系正确,则根据所述第二脚本和第二建表语句自动生成调度任务。本实施例通过判断获取初始化表任务、获取增量表任务的任务合法,且获取初始化表任务、获取增量表任务以及合并所述初始化表和增量表的任务的依赖关系也正确,则控制自动生成标准化的sqoop数据同步脚本。参照图9,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据同步生成过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现数据同步生成方法。上述处理器执行上述数据同步生成方法,包括:在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构,以获取所述配置表格的各配置信息;根据所述表结构中携带的表名创建所述关系数据库对应的视图文件;对所述视图文件进行授权生成授权文件;根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句;将所述调度任务、脚本和建表语句分别传输至所述关系数据库的指定位置,以调度大数据平台的指定数据到关系数据库。上述计算机设备,通过开发了sqoop数据同步自动生成工具,能自动生成sqoop数据同步的脚本文件和建表语句,直接进行部署(挂在另外一个平台上面),通过平台进行控制脚本文件的按天、周、月、季、年等进行同步,还可以设置每天几点执行,是否需要执行等,脚本文件内容规范化方便查看、脚本日志可追踪,脚本运行平台统一、集中,方便一个运营人员统管所有脚本运行情况,相比于将数据直接传输到指定平台更方便管控。提高sqoop数据同步的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高sqoop数据同步自动生成工具的准确性,以及流程流畅化。通过不同的抽取方式自动选择sqoop数据同步生成对应的脚本和建表语句,以满足不同的任务需求,扩大sqoop数据同步自动生成工具的应用领域。在一个实施例中,上述处理器在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构的步骤之前,包括:接收各所述配置信息分别对应的字段,其中各所述配置信息根据任务协议配置到配置表格内;检测各所述字段是否符合预设的配置规则;若是,则生成读取所述配置表格的表结构的指令。在一个实施例中,上述处理器检测各所述字段是否符合预设的配置规则的步骤,包括:获取各字段分别对应的字段内容;判断各所述字段内容的书写方式是否与预设配置规则中的各书写规则一一对应匹配;若是,则判定所述配置表格的各字段符合预设配置规则,否则所述配置表格的各字段不符合预设配置规则。在一个实施例中,上述处理器根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句的步骤,包括:根据授权文件将所述视图文件生成大数据平台对应的关系数据库的数据表;根据所述数据表的抽数模式构建对应的脚本和建表语句;根据所述脚本和建表语句自动生成对应的调度任务,所述调度任务用于调度大数据平台的指定数据到关系数据库。在一个实施例中,上述处理器根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为全量抽取;若是,则抽取所述表结构中携带的表名对应的所有表数据至所述数据表;将所述数据表形成对应全量数据的第一脚本和第一建表语句。在一个实施例中,上述处理器根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为增量抽取;若是,则分别抽取所述表结构中携带的表名对应的初始化表和增量表;将所述初始化表和增量表合并为所述数据表;将所述数据表形成对应增量数据的第二脚本和第二建表语句。在一个实施例中,上述处理器根据所述脚本和建表语句自动生成对应的调度大数据平台的指定数据到关系数据库的调度任务的步骤,包括:判断获取的初始化表任务、获取增量表任务以及合并所述初始化表和增量表的任务的依赖关系是否正确;若是,则根据所述第二脚本和第二建表语句自动生成调度任务。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现数据同步生成方法,包括:在大数据平台读取预配置的将大数据平台的数据同步到关系数据库的配置表格的表结构,以获取所述配置表格的各配置信息;根据所述表结构中携带的表名创建所述关系数据库对应的视图文件;对所述视图文件进行授权生成授权文件;根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句;将所述调度任务、脚本和建表语句分别传输至所述关系数据库的指定位置,以调度大数据平台的指定数据到关系数据库。上述计算机可读存储介质,通过开发了sqoop数据同步自动生成工具,能自动生成sqoop数据同步的脚本文件和建表语句,直接进行部署(挂在另外一个平台上面),通过平台进行控制脚本文件的按天、周、月、季、年等进行同步,还可以设置每天几点执行,是否需要执行等,脚本文件内容规范化方便查看、脚本日志可追踪,脚本运行平台统一、集中,方便一个运营人员统管所有脚本运行情况,相比于将数据直接传输到指定平台更方便管控。提高sqoop数据同步的流程化、准确度,极大地缩短产品上线的时间耗量,显著提高工作效率。通过设置自动检验的过程,提高sqoop数据同步自动生成工具的准确性,以及流程流畅化。通过不同的抽取方式自动选择sqoop数据同步生成对应的脚本和建表语句,以满足不同的任务需求,扩大sqoop数据同步自动生成工具的应用领域。在一个实施例中,上述处理器在关系数据库中读取预配置的将关系数据库数据同步到大数据平台的配置表格的表结构的步骤之前,包括:接收各所述配置信息分别对应的字段,其中各所述配置信息根据任务协议配置到配置表格内;检测各所述字段是否符合预设的配置规则;若是,则生成读取所述配置表格的表结构的指令。在一个实施例中,上述处理器检测各所述字段是否符合预设的配置规则的步骤,包括:获取各字段分别对应的字段内容;判断各所述字段内容的书写方式是否与预设配置规则中的各书写规则一一对应匹配;若是,则判定所述配置表格的各字段符合预设配置规则,否则所述配置表格的各字段不符合预设配置规则。在一个实施例中,上述处理器根据授权文件将所述视图文件生成所述关系数据库对应的调度任务、脚本和建表语句的步骤,包括:根据授权文件将所述视图文件生成大数据平台对应的关系数据库的数据表;根据所述数据表的抽数模式构建对应的脚本和建表语句;根据所述脚本和建表语句自动生成对应的调度任务,所述调度任务用于调度大数据平台的指定数据到关系数据库。在一个实施例中,上述处理器根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为全量抽取;若是,则抽取所述表结构中携带的表名对应的所有表数据至所述数据表;将所述数据表形成对应全量数据的第一脚本和第一建表语句。在一个实施例中,上述处理器根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为增量抽取;若是,则分别抽取所述表结构中携带的表名对应的初始化表和增量表;将所述初始化表和增量表合并为所述数据表;将所述数据表形成对应增量数据的第二脚本和第二建表语句。在一个实施例中,上述处理器根据所述脚本和建表语句自动生成对应的调度大数据平台的指定数据到关系数据库的调度任务的步骤,包括:判断获取的初始化表任务、获取增量表任务以及合并所述初始化表和增量表的任务的依赖关系是否正确;若是,则根据所述第二脚本和第二建表语句自动生成调度任务。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
,均同理包括在本申请的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1