一种数据处理方法、装置及计算机设备与流程
未命名
07-13
阅读:89
评论:0
1.本发明涉及计算机技术领域:
:,具体涉及一种数据处理方法、装置及计算机设备。
背景技术:
::2.数据处理最关键的方面之一就是元数据的管理。flink作为目前主流的计算引擎,拥有极强的数据处理能力。但是flink在对数据进行处理的过程中,元数据是临时的,flink所保存的与元数据的映射关系不是持久化的,导致每一次的任务都需要携带或重新编写对应的ddl(datadefinitionlanguage,数据定义语言,简称ddl)信息,导致任务执行过程繁琐且不易管理元数据等问题。技术实现要素:3.因此,为解决现有技术的不足,本发明实施例提供了一种数据处理方法、装置及计算机设备。4.根据第一方面,本发明实施例公开了一种数据处理方法,包括:5.解析获取到的任务信息,从任务信息中提取源数据表信息和目标数据表信息,目标数据表信息包括目标数据表类型和目标数据表参数;6.根据目标数据表类型,从预设存储位置获取与目标数据表类型对应的建表策略,建表策略包括数据提取策略和数据持久化策略;7.根据源数据表信息确定与源数据表信息对应源数据表后,利用数据提取策略提取源数据表的元数据;8.根据目标数据表类型、目标数据表参数、元数据以及数据持久化策略构建目标数据表。9.可选地,建表策略由与目标数据库类型对应的数据定义语言构成。10.可选地,利用数据提取策略提取源数据表的元数据,具体包括:11.根据数据提取策略,在源数据表中确定与目标数据表类型对应的字段信息;12.根据字段信息提取源数据表中的元数据。13.可选地,根据目标数据表类型、目标数据表参数、元数据以及建表策略构建目标数据表,具体包括:14.根据目标数据表类型,和目标数据表类型与插件路径之间的映射关系,确定插件路径;15.根据插件路径确定插件路径对应的文件夹下的目标文件;16.根据目标文件、目标数据表参数、元数据以及建表策略,构建目标数据表。17.可选地,根据目标文件、目标数据表参数、元数据以及建表策略,构建目标数据表,具体包括:18.根据目标文件、目标数据表参数以及建表策略,生成构建目标数据表指令;19.当验证目标数据表指令正确时,根据构建目标数据表指令和元数据构建目标数据表。20.可选地,若构建目标数据表指令不正确,方法还包括:21.生成报警信息,报警信息用以提示工作人员数据处理错误。22.根据第二方面,本发明实施例还公开了一种数据处理装置,包括:23.解析模块,用于解析获取到的任务信息,从任务信息中提取源数据表信息和目标数据表信息,目标数据表信息包括目标数据表类型和目标数据表参数;24.获取模块,用于根据目标数据表类型,从预设存储位置获取与目标数据表类型对应的建表策略,建表策略包括数据提取策略和数据持久化策略;25.提取模块,用于根据源数据表信息确定与源数据表信息对应源数据表后,利用数据提取策略提取源数据表的元数据;26.构建模块,用于根据目标数据表类型、目标数据表参数、元数据以及数据持久化策略构建目标数据表。27.根据第三方面,本发明实施例还公开了一种计算机设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行如第一方面或第一方面任一可选实施方式的数据处理方法的步骤。28.根据第四方面,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式的数据处理方法的步骤。29.本发明技术方案,具有如下优点:30.本发明提供的数据处理方法、装置及计算机设备,包括:解析获取到的任务信息,从任务信息中提取源数据表信息和目标数据表信息,其中目标数据表信息包括目标数据表类型和目标数据表参数;进一步地,可以根据目标数据表类型确定,从预设存储位置获取与目标数据表类型对应的建表策略,这里的建表策略是持久化到预设存储位置的,因此只要确定了目标数据表类型就可以唯一确定对应的建表策略,用以完成对目标数据表的构建以及后续的其他操作,这里的建表策略包括数据提取策略和数据持久化策略,可以根据数据提取策略在源数据表中获取对应的元数据,源数据表根据源数据表信息可以唯一确定;最后根据目标数据表类型、目标数据表参数、元数据和数据持久化策略构建目标数据表,从而完成对元数据的持久化,由于已经在预设存储位置存储了建表策略,因此当还需要有相同类型的目标数据表进行构建时,可以直接获取建表策略即可,在将元数据持久化到目标数据表后,若后续需要对元数据进行操作可以直接根据目标数据表对应的操作方法进行相关操作即可,不需要再次进行持久化。附图说明31.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。32.图1为本发明实施例中数据处理方法的一个具体示例的流程图;33.图2为本发明实施例中数据处理方法的一个具体示例的示意图;34.图3为本发明实施例中数据处理方法的一个具体示例的示意图;35.图4为本发明实施例中数据处理方法的一个具体示例的示意图;36.图5为本发明实施例中数据处理装置的一个具体示例的原理框图;37.图6为本发明实施例中计算机设备的一个具体示例图。具体实施方式38.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。39.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。40.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。41.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。42.针对
背景技术:
:中所提及的技术问题,本技术实施例提供了一种数据处理方法,具体参见图1。43.在执行该方法之前,首先需要预先构建自定义的catalog,或者说是目标数据库的目录,基于mysql或者其他rdb数据库实现自定义的catalog,实现flink中元数据的持久化,当然建表策略也可以根据不同的应用场景存储至不同的地方,例如是hive或者是mysql中。不同的任务可以共用一个建表策略,只要选择的目标数据表的类型相同即可。44.具体地,构建自定义catalog的过程可以是:45.通过java实现flinkabstractcatalog抽象类接口,声明构造catalog所需要的参数(catalog的名称、url、密码等)以及实现对catalog的增删查改操作。46.继承catalogfactory接口,实现createcatalog方法。根据传递的参数创建对应的catalog实现类,实现后续的元数据在数据库中的操作。47.在meta_inf/services/org.apache.flink.table.factories.factory设置abstractcatalog实现类的全路径以供spi调用。48.如图1所示,该方法包括如下步骤:49.步骤101,解析获取到的任务信息,从任务信息中提取源数据表信息和目标数据表信息。50.其中,目标数据表信息包括目标数据表类型和目标数据表参数。51.示例性地,任务信息可以是flink处理数据的指令等,其中任务信息中包括源数据表信息和目标数据表信息。源数据表是在flink数据处理读取或写入的真实数据源表,也可以叫做flink映射表;目标数据表是需要构建的数据表,需要将源数据表中的元数据持久化到目标数据表,元数据在源数据表中是无法操作的,因此需要持久化到目标数据表,目标数据表可以叫做catalog表。52.解析任务信息通过apachecalcite对任务脚本进行解析,结合从用户平台获取到任务信息中对应的源数据表信息和目标数据表信息,具体地,源数据表信息可以是源数据表名称、ip以及port等信息,只要可以唯一确定对应的源数据表即可。目标数据表信息包括目标数据表类型(如mysql或hive等),以及目标数据表参数,其中目标数据表参数为与目标数据表类型一一对应的参数,可以是名称以及密码等,例如hive数据表是hive所需要的配置信息,mysql数据表是url,username,password等。53.其中任务信息可以通过用户可视化操作界面来配置生成,任务信息还包括源数据(具体选择真实的数据源,选择目标数据表类型,字段等),具体地如图2、图3和图4所示,选择catalog类型(目标数据表类型),上传catalog需要的信息(目标数据表参数)后根据目标数据表类型和目标数据表参数生成任务信息。54.步骤102,根据目标数据表类型,从预设存储位置获取与目标数据表类型对应的建表策略,建表策略包括数据提取策略和数据持久化策略。55.其中,建表策略由与目标数据库类型对应的数据定义语言构成。56.示例性地,在确定目标数据表类型之后,从预设存储位置获取与目标数据表类型对应的建表策略,这里的预设存储位置是可以系统平台的业务库,存储了根据前文中提到的已经构架好的自定义catalog的jar路径以及对应的建表策略之间的映射关系,可以根据目标数据表类型确定对应的catalog来获取建表策略。57.步骤103,根据源数据表信息确定与源数据表信息对应源数据表后,利用数据提取策略提取源数据表的元数据。58.示例性地,建表策略的作用是根据目标数据表的参数来构建目标数据表,并对元数据进行持久化,在进行持久化之前首先需要获取需要持久化的元数据。59.在一个优选的实施例中,利用数据提取策略提取源数据表的元数据,具体包括:60.根据数据提取策略提取源数据表中元数据,首先需要获取源数据表中配置的字段名称、类型、字段映射、主键以及自定义参数等,根据这些信息共同生成元数据。61.步骤104,根据目标数据表类型、目标数据表参数、元数据以及数据持久化策略构建目标数据表。62.示例性地,在获取到元数据后,根据获取到数据持久化策略、目标数据表类型、目标数据表参数以及元数据构建目标数据表。具体地,首先可以是根据数据持久化策略、目标数据表类型以及目标数据表参数生成一个catalog建表指令,根据catalog类型获取对应的catalog;其次根据catalog的预设的操作指令(增删改查)将元数据持久化到catalog,以完成对元数据的持久化。63.后续若是需要对元数据进行查询或者删除等操作时,只需要根据对应的任务信息确定catalog,并根据目标数据的预设的操作指令完成对元数据的查询或者删除等,这里的预设操作指令是每一个类型都会有的,可以是默认的也可以是自行设定的。64.当同时需要构建多个目标数据表时,在构建catalog时可能会因为连接数据源驱动版本不同,导致类加载冲突问题,为解决这个问题,对应的每一个类型的catalog均有对应的插件,在一个优选地实施例中,根据目标数据表类型、目标数据表参数、元数据以及建表策略构建目标数据表,具体包括:65.根据目标数据表类型,和目标数据表类型与插件路径之间的映射关系,确定插件路径;66.根据插件路径确定插件路径对应的文件夹下的目标文件;67.根据目标文件、目标数据表参数、元数据以及建表策略,构建目标数据表。68.示例性地,catalog类型与插件路径存在一一对应的映射关系,根据catalog类型可以确定对应的插件路径,插件路径对应的文件夹下存在对应的jar包,加载jar包加载对应路径下的class文件(目标文件),根据class文件构造目标数据表。69.还可以通过目标数据表的名称判断是否已经构建该目标数据表,如果没有构建则重新注册到streamtableenvironment的catalogmanager中已完成目标数据表的构建,后续通过调用自定义实现的catalog的api将元数据信息持久化到catalog中,也就是catalog的操作方法。70.在自定义catalog时,可以创建多个类型的catalog,能够支持多种类型数据库的存储,catalog进行管理并且能够对接平台,通过在外接平台的界面选择对应的catalog类型并输入catalog参数进而形成任务信息,用户不必每次重写ddl,同时在任务中使用多个已经自定义在系统中的catalog下的表。极大地简化了现有技术中使用flinksql所需的步骤。71.通过执行此方法,解析获取到的任务信息,从任务信息中提取源数据表信息和目标数据表信息,其中目标数据表信息包括目标数据表类型和目标数据表参数;进一步地,可以根据目标数据表类型确定,从预设存储位置获取与目标数据表类型对应的建表策略,因此只要确定了目标数据表类型就可以唯一确定对应的建表策略,用以完成对目标数据表的构建以及后续的其他操作,这里的建表策略包括数据提取策略和数据持久化策略,可以根据数据提取策略在源数据表中获取对应的元数据,源数据表根据源数据表信息可以唯一确定;最后根据目标数据表类型、目标数据表参数、元数据和数据持久化策略构建目标数据表,从而完成对元数据的持久化,由于已经在预设存储位置存储了建表策略,因此当还需要有相同类型的目标数据表进行构建时,可以直接获取建表策略即可,在将元数据持久化到目标数据表后,若后续需要对元数据进行操作可以直接根据目标数据表对应的操作方法进行相关操作即可,不需要再次进行持久化。以上,为本技术所提供的数据处理方法的实施例,下文中则介绍说明本技术所提供的数据处理的其他实施例,具体参见如下。72.本发明实施例还公开了一种数据处理装置,如图5所示,该装置包括:73.解析模块501,用于解析获取到的任务信息,从任务信息中提取源数据表信息和目标数据表信息,目标数据表信息包括目标数据表类型和目标数据表参数;74.获取模块502,用于根据目标数据表类型,从预设存储位置获取与目标数据表类型对应的建表策略,建表策略包括数据提取策略和数据持久化策略;75.提取模块503,用于根据源数据表信息确定与源数据表信息对应源数据表后,利用数据提取策略提取源数据表的元数据;76.构建模块504,用于根据目标数据表类型、目标数据表参数、元数据以及数据持久化策略构建目标数据表。77.作为本发明一个可选地实施方式,建表策略由与catalog类型对应的数据定义语言构成。78.作为本发明一个可选地实施方式,提取模块,具体用于:79.根据数据提取策略,在源数据表中确定与目标数据表类型对应的字段信息;80.根据字段信息提取源数据表中的元数据。81.作为本发明一个可选地实施方式,构建模块,具体用于:82.根据目标数据表类型,和目标数据表类型与插件路径之间的映射关系,确定插件路径;83.根据插件路径确定插件路径对应的文件夹下的目标文件;84.根据目标文件、目标数据表参数、元数据以及建表策略,构建目标数据表。85.作为本发明一个可选地实施方式,构建模块,具体还用于:86.根据目标文件、目标数据表参数以及建表策略,生成构建目标数据表指令;87.当验证目标数据表指令正确时,根据构建目标数据表指令和元数据构建目标数据表。88.作为本发明一个可选地实施方式,若构建目标数据表指令不正确,装置还用于:生成报警信息,报警信息用以提示工作人员数据处理错误。89.本发明实施例提供的数据处理装置中各部件所执行的功能均已在上述任一方法实施例中做了详细的描述,因此这里不再赘述。90.通过执行此装置,解析获取到的任务信息,从任务信息中提取源数据表信息和目标数据表信息,其中目标数据表信息包括目标数据表类型和目标数据表参数;进一步地,可以根据目标数据表类型确定,从预设存储位置获取与目标数据表类型对应的建表策略,这里的建表策略是持久化到预设存储位置的,因此只要确定了目标数据表类型就可以唯一确定对应的建表策略,用以完成对目标数据表的构建以及后续的其他操作,这里的建表策略包括数据提取策略和数据持久化策略,可以根据数据提取策略在源数据表中获取对应的元数据,源数据表根据源数据表信息可以唯一确定;最后根据目标数据表类型、目标数据表参数、元数据和数据持久化策略构建目标数据表,从而完成对元数据的持久化,由于已经在预设存储位置存储了建表策略,因此当还需要有相同类型的目标数据表进行构建时,可以直接获取建表策略即可,在将元数据持久化到目标数据表后,若后续需要对元数据进行操作可以直接根据目标数据表对应的操作方法进行相关操作即可,不需要再次进行持久化。91.本发明实施例还提供了一种计算机设备,如图6所示,该计算机设备可以包括处理器601和存储器602,其中处理器601和存储器602可以通过总线或者其他方式连接,图6中以通过总线连接为例。92.处理器601可以为中央处理器(centralprocessingunit,cpu)。处理器601还可以为其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。93.存储器602作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/模块。处理器601通过运行存储在存储器602中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的数据处理方法。94.存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器601所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至处理器601。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。95.一个或者多个模块存储在存储器602中,当被处理器601执行时,执行如图1所示实施例中的数据处理方法。96.上述计算机设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。97.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。98.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。当前第1页12当前第1页12
技术特征:
1.一种数据处理方法,其特征在于,所述方法包括:解析获取到的任务信息,从所述任务信息中提取源数据表信息和目标数据表信息,所述目标数据表信息包括目标数据表类型和目标数据表参数;根据所述目标数据表类型,从预设存储位置获取与所述目标数据表类型对应的建表策略,所述建表策略包括数据提取策略和数据持久化策略;根据所述源数据表信息确定与所述源数据表信息对应源数据表后,利用所述数据提取策略提取所述源数据表的元数据;根据所述目标数据表类型、所述目标数据表参数、所述元数据以及所述数据持久化策略构建目标数据表。2.根据权利要求1所述的方法,其特征在于,所述建表策略由与所述目标数据库类型对应的数据定义语言构成。3.根据权利要求1所述的方法,其特征在于,所述利用所述数据提取策略提取所述源数据表的元数据,具体包括:根据所述数据提取策略,在所述源数据表中确定与所述目标数据表类型对应的字段信息;根据所述字段信息提取所述源数据表中的元数据。4.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据表类型、所述目标数据表参数、所述元数据以及所述建表策略构建目标数据表,具体包括:根据所述目标数据表类型,和所述目标数据表类型与插件路径之间的映射关系,确定所述插件路径;根据所述插件路径确定所述插件路径对应的文件夹下的目标文件;根据所述目标文件、所述目标数据表参数、所述元数据以及所述建表策略,构建所述目标数据表。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标文件、所述目标数据表参数、所述元数据以及所述建表策略,构建所述目标数据表,具体包括:根据所述目标文件、所述目标数据表参数以及所述建表策略,生成构建目标数据表指令;当验证所述目标数据表指令正确时,根据所述构建目标数据表指令和所述元数据构建所述目标数据表。6.根据权利要求5所述的方法,其特征在于,若所述构建目标数据表指令不正确,所述方法还包括:生成报警信息,所述报警信息用以提示工作人员数据处理错误。7.一种数据处理装置,其特征在于,所述装置包括:解析模块,用于解析获取到的任务信息,从所述任务信息中提取源数据表信息和目标数据表信息,所述目标数据表信息包括目标数据表类型和目标数据表参数;获取模块,用于根据所述目标数据表类型,从预设存储位置获取与所述目标数据表类型对应的建表策略,所述建表策略包括数据提取策略和数据持久化策略;提取模块,用于根据所述源数据表信息确定与所述源数据表信息对应源数据表后,利用所述数据提取策略提取所述源数据表的元数据;
构建模块,用于根据所述目标数据表类型、所述目标数据表参数、所述元数据以及所述数据持久化策略构建目标数据表。8.根据权利要求7所述的装置,其特征在于,所述建表策略由与所述目标数据库类型对应的数据定义语言构成。9.一种计算机设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-6任一项所述的数据处理方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被服务器执行时实现如权利要求1-6任一项所述的数据处理方法。
技术总结
本发明公开了一种数据处理方法、装置及计算机设备,该方法包括,解析获取到的任务信息,从所述任务信息中提取源数据表信息和目标数据表信息,所述目标数据表信息包括目标数据表类型和目标数据表参数;根据所述目标数据表类型,从预设存储位置获取与所述目标数据表类型对应的建表策略,所述建表策略包括数据提取策略和数据持久化策略;根据所述源数据表信息确定与所述源数据表信息对应源数据表后,利用所述数据提取策略提取所述源数据表的元数据;根据所述目标数据表类型、所述目标数据表参数、所述元数据以及所述数据持久化策略构建目标数据表。数据表。数据表。
技术研发人员:郭华明
受保护的技术使用者:中航金网(北京)电子商务有限公司
技术研发日:2023.03.21
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种安全锁坠落实验用安全绳张紧装置的制作方法 下一篇:一种玻璃门扇的制作方法
