CN111177247A - 一种数据转换的方法、装置及存储介质 - Google Patents

一种数据转换的方法、装置及存储介质 Download PDF

Info

Publication number
CN111177247A
CN111177247A CN201911403886.3A CN201911403886A CN111177247A CN 111177247 A CN111177247 A CN 111177247A CN 201911403886 A CN201911403886 A CN 201911403886A CN 111177247 A CN111177247 A CN 111177247A
Authority
CN
China
Prior art keywords
data
target
script
conversion
data conversion
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.)
Granted
Application number
CN201911403886.3A
Other languages
English (en)
Other versions
CN111177247B (zh
Inventor
缪洲光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911403886.3A priority Critical patent/CN111177247B/zh
Publication of CN111177247A publication Critical patent/CN111177247A/zh
Application granted granted Critical
Publication of CN111177247B publication Critical patent/CN111177247B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种数据转换的方法、装置及存储介质,用以提高数据转换的效率,及数据转换的灵活性。在本申请中响应数据转换指令,将数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式的预设基础脚本进行组合,生成目标脚本;调用NiFi工具的API接口创建任务流,并在任务流中设置目标脚本,以在运行任务流时,通过预先开发的处理节点执行目标脚本,进行数据转换。预先开发处理节点,以执行目标脚本,目标脚本是通过数据转换指令生成的;处理节点可以执行不同数据转换指令生成的目标脚本,具有通用性,且每次进行数据转换时,无需用户编写定制化脚本,简化操作,提高数据转换的灵活性和数据转换效率。

Description

一种数据转换的方法、装置及存储介质
技术领域
本申请涉及计算机技术领域,提供一种数据转换的方法、装置及存储介质。
背景技术
数据转换是将数据从一种表示形式转变为另一种表示形式,例如,软件的全面升级带来数据库的全面升级,每一个软件对其后面的数据库的构架与数据的存诸形式都是不相同的,需要经常对数据进行导入、导出和数据转换。再例如,由于数据量的不断增加,原来数据构架设计不合理,不能满足各方面的要求,由于数据库的更换,数据结构的更换,从而需要数据本身的转换。
目前,在进行数据转换时,针对不同的数据转换任务,在每个数据转换的任务流中都增加一个业务定制化脚本;执行业务定制化脚本,进行数据转换;业务定制化脚本是用户自身编写的程序代码,仅能针对指定数据进行特定转换。
需要对每个任务流增加业务定制化脚本,降低了数据转换的灵活性和数据转换效率。
发明内容
本申请实施例提供一种数据转换的方法、装置及存储介质,用以提高数据转换的效率,及数据转换的灵活性。
第一方面,本申请提供一种数据转换的方法,该方法包括:
响应数据转换指令,将数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式预设基础脚本进行组合,生成目标脚本;
调用NiFi工具的API(Application Programming Interface,应用程序接口)接口创建任务流,并在任务流中设置目标脚本,以在运行任务流时,通过预先开发的处理节点执行目标脚本,进行数据转换。
第二方面,本申请提供一种数据转换的方法,该方法包括:
响应创建任务流的指令,基于预先创建的转换模板创建任务流,并在任务流中设置目标脚本,其中,目标脚本是数据治理平台在响应数据转换指令后,根据数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式预设基础脚本进行组合生成的;
响应运行任务流的指令,执行目标脚本,读取目标脚本中原始表的数据,确定需要进行数据转换的数据;
将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
第三方面,本申请实施例提供一种数据转换的装置,该装置包括:
响应模块,用于响应数据转换指令,将数据转换指令对应的目标表中的信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式预设基础脚本进行组合,生成目标脚本;
调用模块,用于调用NiFi工具的应用程序接口API接口创建任务流,并在任务流中设置目标脚本,以在运行任务流时,通过预先开发的处理节点执行目标脚本,进行数据转换。
在一种可能的实现方式中,响应模块具体用于:
将目标表中的各个字段名,以及各个字段名对应的转换函数,按照字段名与转换函数之间的对应关系,填写到转换模式的预设基础脚本的第一设定位置上;以及
将原始表的数据填写到转换模式的预设基础脚本的第二设定位置上。
在一种可能的实现方式中,响应模块通过如下方式确定目标表信息:
响应配置字段变换指令,根据配置字段变换指令对应的字段名及每个字段名对应的转换函数,确定目标表信息;
其中,字段名是在对原始表配置组合后,确定的备选字段名中选择的。
在一种可能的实现方式中,调用模块具体用于:
调用NiFi工具的API接口创建任务流,并在任务流创建成功后,调用NiFi工具的API接口,在任务流中设置目标脚本。
在一种可能的实现方式中,调用模块还用于:
调用NiFi工具的API接口创建任务流,并在任务流中设置目标脚本后,响应目标脚本设置成功指令,并发送运行任务流的指令,以在运行任务流时,通过预先开发的处理节点执行目标脚本,根据目标表中的字段名在原始表的数据中确定需要进行数据转换的数据,并对需要进行数据转换的数据进行数据转换。
第四方面,本申请实施例提供一种数据转换的装置,该装置包括:
创建模块,用于响应创建任务流的指令,基于预先创建的转换模板创建任务流,并在任务流中设置目标脚本,其中,目标脚本是数据治理平台在响应数据转换指令后,根据数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式预设基础脚本进行组合生成的;
读取模块,用于响应运行任务流的指令,执行目标脚本,读取目标脚本中原始表的数据,确定需要进行数据转换的数据;
转换模块,用于将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
在一种可能的实现方式中,读取模块具体用于:
通过预先开发的处理节点执行目标脚本,读取目标脚本中原始表的数据,根据目标脚本中目标表的字段名,在原始表的数据中确定需要进行数据转换的数据。
在一种可能的实现方式中,读取模块还用于:
根据目标脚本中目标表的字段名,以及目标脚本中预设基础脚本的运算逻辑,在原始表的数据中确定需要进行数据转换的数据。
在一种可能的实现方式中,读取模块具体用于:
若目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,需要进行数据转换的数据为原始表中存储且与目标表存储的字段名对应的数据;
若目标脚本中预设基础脚本的运算逻辑为追加模式的预设基础脚本的运算逻辑,则需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大时间,且原始表和目标表中同时存储的字段名对应的数据;
若目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑,则需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大时间,且原始表和目标表中同时存储的字段名对应的数据。
在一种可能的实现方式中,转换模块具体用于:
将需要进行数据转换的数据,按照目标脚本的目标表中存储的与需要进行数据转换的数据的字段名对应的转换函数,将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
在一种可能的实现方式中,转换模块还用于:
将转换后的数据写入目标表中之前,若目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,则将目标表中存储的数据删除。
在一种可能的实现方式中,转换模块还用于:
当目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑时,若确定需要进行数据转换的数据对应的主键在目标表中存在,则将使用转换后的目标数据替换目标表中主键对应的数据,否则将转换后的数据写入目标脚本对应的目标表中。
第五方面,本申请实施例提供一种数据转换的设备,包括:存储器和处理器,其中,存储器,用于存储计算机指令;处理器,用于执行计算机指令以实现上述数据转换的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本申请实施例提供的数据转换的方法。
本申请有益效果如下:
在本申请中,根据数据转换指令对应的目标表信息,数据转换指令对应的原始表,以及数据转换指令中对应的转换模式的预设基础脚本进行组合,生成目标脚本,并调用NiFi工具的API接口创建任务流,并在创建的任务流中设置目标脚本,以在运行任务流时,通过预先开发的处理节点执行目标脚本,进行数据转换。由于在NiFi工具中没有可执行目标脚本的处理节点,因此在NiFi工具中预先开发处理节点,以通过预先开发的处理节点执行目标脚本,进行数据转换,目标脚本是通过数据转换指令生成的,可以根据转换指令中不同的信息生成不同的目标脚本由预先开发的处理节点执行,因此处理节点针对数据转换任务具有通用性,且在每次进行数据转换业务时,无需用户针对每个数据转换任务单独编写定制化脚本进行特定转换,简化操作,提高数据转换的灵活性和数据转换效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中进行数据转换的流程图;
图2为本申请实施例提供的应用场景示意图;
图3为本申请实施例提供的一种数据转换系统间的交互流程图;
图4为本申请实施例提供的一种原始表配置表组合的示意图;
图5为本申请实施例提供的一种配置目标表信息及转换模式的示意图;
图6为本申请实施例提供的第一种NiFi工具执行目标脚本进行数据转换的流程图;
图7为本申请实施例提供的第二种NiFi工具执行目标脚本进行数据转换的流程图;
图8为本申请实施例提供的第三种NiFi工具执行目标脚本进行数据转换的流程图;
图9为本申请实施例提供的一种数据转换的方法的流程图;
图10为本申请实施例提供的另一种数据转换的方法流程图;
图11为本申请实施例提供的一种数据转换的装置结构图;
图12为本申请实施例提供的另一种数据转换的装置结构图;
图13为本申请实施例提供的一种数据转换的设备结构图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下对本申请实施例中的部分用于进行解释说明,以便于本领域技术人员理解。
目标脚本:脚本是一种进行批量处理文件的延伸,是一种纯文本保存的程序;目标脚本是通过特定语言编写的计算机脚本程序;计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。比如,Scala脚本是通过Scala语言编写的计算机脚本程序,Java脚本是通过Java语言编写的计算机脚本程序。
NiFi工具:一种实时数据流处理系统,是一个开源数据处理工具,用于采集数据、转换数据、存储数据,并在NiFi工具中建立任务流进行数据处理,任务流是由多个处理节点连接起来的,为处理节点执行数据转换等流程提供执行环境。
处理节点:是用于执行数据转换的节点。处理节点中针对不同的语言开发不同的工具,比如针对Scala语言编写的Scala脚本,在处理节点中开发Spark工具,Spark是专为大规模数据处理而设计的快速通用的计算引擎;此时处理节点可以成为Spark处理节点,Spark处理节点用于分布式执行Scala脚本,除提供交互式查询外,还可以降低负载,且分布式执行各个数据转换过程不受影响。
原始表:是存储在数据库中,且具有外部数据的结构化表。
目标表:是用户承载转换后的数据,并将转换后的数据写在目标表中,将目标表存储在数据库中,目标表也是结构化表。
下面对本申请实施例的设计思想进行简要介绍。
随着社会科技的发展,信息的流通,大数据出现在用户的生活中。大数据已成为当前重要的研究课题,从数据的采集、存储、搜索、共享、分析,乃至可视化的呈现,都是大数据中要研究的课题。
目前,在大数据中根据不同的业务需求获取不同的数据,即进行数据转换的过程。相关技术中,在进行数据转换时,需要在每个任务流中加入业务定制化脚本,定制化脚本是通过用户自身手动书写的程序代码,以实现数据转换的逻辑,而且定制化脚本仅针对特定的数据转换,无法做到通用性,灵活性低,;且每次进行数据转换时都需要用户自身手动书写代码,执行效率低,增加人工的工作量。如图1所示,为相关技术中进行数据转换的流程图,处理节点执行业务定制化脚本,进行数据转换,并将转换后的数据存储。
因为相关技术中针对每个数据转换任务流,需要业务定制化脚本,降低数据转换的灵活性,及数据转换效率,同时扩展性较低。
有鉴于此,本申请实施例提供了一种数据转换的方法、装置及存储介质。在本申请中,响应数据转换指令,将数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式的预设基础脚本进行组合,生成目标脚本,可见在进行数据转换时无需用户针对数据转换任务编写程序代码,而是根据用户选择的转换指令中的信息自动生成目标脚本,较少人工工作量;调用NiFi工具的API接口创建任务流,在确定任务流创建成功后,调用NiFi工具的API接口将目标脚本设置在NiFi工具创建的任务流中,以使NiFi工具在接收到任务流运行指令后,运行任务流时,通过预先开发的处理节点执行目标脚本,对原始表的数据进行数据转换。
在本申请中,在NiFi工具中开发处理节点,用于执行目标脚本,目标脚本是根据数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式的预设基础脚本进行组合后,生成的目标脚本;根据每个任务流的数据转换指令可以确定目标脚本,其中预设的基础脚本是预先编写的运算逻辑具有通用性,目标表信息是用户选择的转换规则,原始表是用户选择的需要进行数据转换的数据,因此通过预先开发的处理节点在执行目标脚本时,可以针对用户设置的多个数据转换任务进行数据转换,具有通用性,且在该过程中无需用户编写定值化的转换脚本,简化流程,提升数据转换的灵活性和数据转换效率。
在一种可能的实现方式中,响应用户配置字段变换指令,根据用户配置的各个字段名及每个字段名对应的转换函数,确定目标表信息;
将目标表信息、原始表与转换模式的预设基础脚本进行组合,生成目标脚本时,按照每个字段名与转换函数之间的对应关系,将目标表中的字段名以及转换函数填写基础脚本的第一设定位置上,将原始表填写在预设基础脚本的第二设定位置上;以便通过预先开发的处理节点执行目标脚本,进行数据转换时,在原始表中确定与目标表中字段名对应的数据,将数据根据目标脚本中存储的目标表的字段名对应的转换函数进行数据转换。
在本申请中,基于NiFi工具中预先开发的处理节点执行目标脚本,进行数据转换时,支持到字段级别粒度,极大程度的满足多种业务对数据的需求,提高数据转换的扩展性。
在介绍完本申请实施例的设计思想之后,下面对本申请设置的应用场景进行简要说明。需要说明的是,以下场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
如图2所示,为本申请提供的一种数据转换的应用场景图。具体包括数据治理平台和NiFi工具;数据治理平台安装于终端设备20中,服务器21中安装有数据治理平台的后台服务器以及NiFi工具,并通过网络与安装有数据治理平台的终端设备20进行通信连接。其中,网络包括但不限于局域网、城域网或广域网等。终端设备20可以是个人电脑(PersonalComputer,PC)、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、笔记本和手机等终端设备,也可以是具有移动终端设备的计算机,包括各种便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们能够向用户提供语音、数据或语音和数据连通性的设备,以及与无线接入网交换语音、数据或语音和数据。服务器21可以是任何能够提供互联网服务,用于管理存储数据的后台运行设备。
在本应用场景中,终端设备20用于安装和运行数据治理平台,数据治理平台响应用户在显示界面中选择的原始表,及为原始表配置的连接关系;进一步响应用户在显示界面中的配置字段转换指令,根据用户选择的字段名,以及针对每个字段名配置的转换函数,确定目标表信息;响应用户在显示页面中选择的转换模式;最终响应用户在数据治理平台的显示页面中触发的执行下一步的按键指令,触发数据转换指令;
数据治理平台的后台服务器响应数据转换指令,生成目标脚本;然后调用NiFi工具提供的API接口在NiFi工具中创建数据转换任务流,并将目标脚本设置在创建的任务流中;当设置成后NiFi工具返回设置成功的指令给数据治理平台,并接收数据治理平台触发的运行任务流的指令,NiFi工具读取目标脚本中原始表的数据,进行数据转换。本申请将数据转换功能抽象出来,通过设置字段名,及每个字段名对应的转换函数的方式提高数据转换的灵活性、快展性,及能够快速简单应对复杂场景,提高数据转换效率。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
如图3所示,为本申请实施例提供的一种数据转换系统间的交互流程图,该数据转换系统中包括数据治理平台30,以及NiFi工具31;
步骤300,数据治理平台响应用户选择的原始表,及对原始表配置表组合的指令,确定目标表对应的备选字段名。
其中,原始表是存有需要进行转换的数据的结构化表,包含表结构信息,表结构信息包括字段名和类型。
针对结构化的数据库中的数据,数据本身存储有结构信息,无需进行处理,可以直接获取使用,比如MySQL;但是对于一些非结构化的数据库中的数据,应先将数据库中存储的数据转换为结构化数据,提取结构信息,将提取结构信息后的数据作为原始表中的数据,如MongoDB中JSON数据只取第一层字段作为结构信息。
在本申请中,在数据治理平台的显示界面中用户通过拖拽的方式将原始表添加到数据治理平台中,并在数据治理平台中对拖拽的原始表配置表组合;其中配置表组合包括inner join(内连接)、left join(左连接)、right join(右连接)、full join(全连接)。如图4所示,为本申请实施例提供的一种原始表配置表组合的示意图。
从图4中可知,在数据治理平台中按照选择采集流、配置表组合、配置字段变换顺序进行,当执行到配置表组合的流程时用图标“铅笔”表示,在用户配置表组合完成后,点击显示页面的“下一步”按键后,进入配置字段变换的显示界面;在配置字段变换的显示界面中,用户可以选择转换模式,及字段变换配置的字段名及目标表的各个字段名对应的转换函数;
其中,转换模式包括覆盖模式、追加模式及去重追加模式。
在本申请中,目标表是用于承载转换后的数据的,作为任务流的输出数据,需要预先定义表结构信息。因此用户在配置字段变换的显示界面中预先定义目标表的结构信息。
步骤301,数据治理平台响应用户触发的配置字段变换指令,根据配置字段变换指令对应的字段名,以及针对每个字段名设置的转换函数,确定目标表信息。
其中,目标表信息包括字段名,及每个字段名对应的转换函数,一个字段名可以对应多个转换函数。
步骤302,数据治理平台响应用户选择的转换模式,确定转换模式对应的预设基础脚本。
由于在本申请中存在三种转换模式,每种转换模式的运算逻辑不同,因此每种转换模式的预设基础脚本不同,每个转换模式都对应有预先编写的基础脚本即预设基础脚本。
如图5所示,为本申请提供的一种配置目标表信息及转换模式的示意图。在显示页面中用户可以选择转换模式及字段变换配置等。当用户将光标位于转换函数的输入框时,在显示页面中会联想下拉列表,列表中显示当前位置能输入的所有转换函数,如计算累加和函数add、连接字符串函数concat等;当光标位于字段名的输入框时,在显示页面中会联想下拉列表,列表中会显示原始表连接后生成的新字段名等。用户根据业务的需要进行选择。
步骤303,数据治理平台响应数据转换指令,将数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式的预设基础脚本进行组合,生成目标脚本。
在本申请中,在选择原始表、目标表信息及转换模式后,在接收到数据转换指令时,生成目标脚本,以使NiFi工具中的预先开发的处理节点执行目标脚本,按照目标脚本的运算逻辑,进行数据转换。
而在本申请中,目标脚本是数据治理平台的后台服务器根据转换模式、原始表及目标表信息确定的;
在一种可能的实现方式中,在确定转换模式后,即可确定转换模式对应的预设基础脚本;在预设基础脚本中存在第一设定位置及第二设定位置,第一设定位置用于填写目标表中的各个字段名,以及各个字段名对应的转换函数,第二设定位置用于填写原始表,因为进行数据转换时是对原始表中的数据按照转换函数进行转换的。
因此,目标脚本是将目标表中的各个字段名,以及各个字段名对应的转换函数,按照字段名与转换函数之间的对应关系,填写到转换模式的预设基础脚本的第一设定位置上;以及
将原始表的数据填写到转换模式的预设基础脚本的第二设定位置上,组合以后生成的。
在本申请中,进行数据转换的过程是在NiFi工具中进行的,即NiFi工具提供了数据转换的运行环境,因此需要在NiFi中创建数据转换的任务流。
步骤304,数据治理平台调用NiFi工具的API接口向NiFi工具发送创建任务流的指令。
步骤305,NiFi工具响应数据治理平台发送的创建任务流指令,基于预先创建的转换模板创建任务流。
在本申请中,转换模板是预先创建好的通用模板。
步骤306,NiFi工具在创建任务流成功后,向数据治理平台返回任务流创建成功的指令。
因为在任务流创建成功以后,才确定存在需要执行数据转换的任务,进一步才可以执行目标脚本,进行数据转换,因此需要将目标脚本设置在创建好的任务流中。
步骤307,数据治理平台接收到NiFi工具发送的任务流创建成功指令后,调用NiFi工具的API接口将目标脚本设置在创建的任务流中。
步骤308,NiFi工具将目标脚本设置在创建的任务流中。
步骤309,NiFi工具将目标脚本设置成功后,向数据治理平台返回设置成功的指令。
步骤310,数据治理平台响应用户触发的运行任务流指令,并调用NiFi工具的API接口向NiFi工具发送运行任务流的指令。
步骤311,NiFi工具响应运行任务流的指令,执行目标脚本,读取目标脚本中原始表的数据,确定需要进行数据转换的数据。
在本申请中,通过NiFi工具中预先开发的处理节点执行目标脚本,读取原始表的数据,根据目标脚本中预设基础脚本的运算逻辑,在原始表的数据中确定需要进行数据转换的数据;
其中,预设基础脚本的运算逻辑是根据数据转换指令对应的转换模式确定的。
在本申请中,由于NiFi工具中不存在执行目标脚本的处理节点,因此需要在NiFi中预先开发执行目标脚本的处理节点,开发的处理节点可以是Spark处理节点,此时用于执行的目标脚本包括Scala脚本、Java脚本、Python脚本、R脚本等;还可以是其他处理节点,用于执行自身可执行的目标脚本。
因此,在本申请中可以在NiFi工具预先开发多种处理节点,以执行不同语言的目标脚本。
步骤312,NiFi工具将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
在本申请中,在进行数据转换时,将需要进行数据转换的数据,按照目标脚本中与需要进行数据转换的数据的字段名对应的转换函数换成目标数据,并写入目标脚本对应的目标表中。
步骤313,NiFi工具将目标表返回数据治理平台,并存储在数据库中。
在本申请中,由于不同的转换模式的预设基础脚本不同,且目标脚本是根据预设基础脚本和目标表信息生成的;因此在接收到数据转换指令后,根据数据转换指令对应的转换模式的不同,生成的目标脚本不同;目标脚本中包含有数据转换的运算逻辑及数据转换的转换规则,转换规则为各个字段名对应的转换函数。
本申请主要存在三种转换模式,分别为覆盖模式、追加模式及去重追加模式,因此生成的目标脚本存在三种运算逻辑,在执行目标脚本进行数据转换时,根据不同的转换模式确定不同的运算逻辑,进行数据转换。因此转换模式不同,目标脚本的运算逻辑不同,执行数据转换的流程步骤不同。如下:
情况一:转换模式为覆盖模式,目标脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,需要进行数据转换的数据为原始表中存储且目标表中存储的字段名对应的数据。
如图6所示,为本申请实施例提供的第一种NiFi工具执行目标脚本进行数据转换的流程图。
由于是覆盖模式,因此每次进行数据转换之前都会删除目标表中的存储的数据。
步骤600,删除目标表中存储的数据;
步骤601,将多个原始表配置表组合,确定原始表数据;
步骤602,确定原始表数据中各个数据的字段名,并选择出与目标表中字段名一致的字段名对应的数据,将选择数据作为需要进行数据转换的数据;
步骤603,将需要进行数据转换的数据,按照数据的字段名对应的转换函数进行数据转换,转换生成目标数据;
步骤604,按照字段名,将目标数据以覆盖方式写入到目标表中。
需要说明的是,在本申请中原始表可以是一个,此时无需进行配置表组合,原始表中的数据及时原始表数据。
情况二:转换模式为追加模式,目标脚本的运算逻辑为追加模式的预设基础脚本的运算逻辑,需要进行数据转换的数据为根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大更新时间,且原始表和目标表中同时存储的字段名对应的数据。
如图7所示,为本申请实施例提供的第二种NiFi工具执行目标脚本进行数据转换的流程图。
步骤700,将多个原始表配置表组合,确定原始表数据;
步骤701,读取目标表数据,根据目标表数据的更新标识,计算目标表数据的最大更新时间;
步骤702,在原始表数据中确定更新时间大于最大更新时间的数据作为备选数据;
步骤703,在备选数据中,选择原始表中存储且目标表中存储的字段名对应的数据,作为需要进行数据转换的数据;
步骤704,将需要进行数据转换的数据,按照数据的字段名对应的转换函数进行数据转换,转换生成目标数据;
步骤705,按照字段名,将目标数据以追加方式写入到目标表中。
需要说明的是,在本申请中原始表中包含有数据更新标识,用于记录数据的更新,如时间戳字段,更新数据后设置为最新时间戳;在本申请中原始表可以是一个,此时无需进行配置表组合,原始表中的数据及时原始表数据。
情况三:转换模式为去重追加模式,目标脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑,需要进行数据转换的数据为根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大更新时间,且原始表和目标表中同时存储的字段名对应的数据。
如图8所示,为本申请实施例提供的第三种NiFi工具执行目标脚本进行数据转换的流程图。
步骤800,将多个原始表配置表组合,确定原始表数据;
步骤801,读取目标表数据,根据目标表数据的更新标识,计算目标表数据的最大更新时间;
步骤802,在原始表数据中确定更新时间大于最大更新时间的数据作为备选数据;
步骤803,在备选数据中,选择原始表中存储且目标表中存储的字段名对应的数据,作为需要进行数据转换的数据;
步骤804,判断需要进行数据转换的各个数据的主键是否存在目标表中,若存在,在执行步骤805,否则执行步骤806;
步骤805,将数据主键在目标表中存在的数据,按照字段名对应的转换函数进行数据转换,生成目标数据,使用目标数据替换目标表中主键对应的数据;
步骤806,按照字段名对应的转换函数进行数据转换,生成目标数据,将目标数据写入到目标表中。
需要说明的是,在本申请中,当选择追加模式或去重追加模式时,为了防止数据错误,优选的输入一个原始表;在覆盖模式下可以选择多个原始表;写入到目标表中指的是将转换后的目标数据新增到目标表中。
在本申请中,基于NiFi工具进行数据转换时,在NiFi工具中预先开发了处理节点,以执行目标脚本,进行数据转换,无需针对每个任务流都加入业务定制化脚本,能够满足各种数据转换需求,具有很好的扩展性,提高了数据转换的灵活性及数据转换效率。
如图9所示,为本申请实施例提供的一种数据转换的方法的流程图,包括如下步骤:
步骤900,响应数据转换指令,将数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式的预设基础脚本进行组合,生成目标脚本;
步骤901,调用NiFi工具的应用程序接口API接口创建任务流,并在任务流中设置目标脚本,以在运行任务流时,通过预先开发的处理节点执行目标脚本,进行数据转换。
在一种可能的实现方式中,将数据转化指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式的预设基础脚本进行组合,生成目标脚本时:将目标表中的各个字段名,以及各个字段名对应的转换函数,按照字段名与转换函数之间的对应关系,填写到转换模式的预设基础脚本的第一设定位置上;以及
将原始表的数据填写到转换模式的预设基础脚本的第二设定位置上。
在一种可能的实现方式中,目标表信息是通过如下方式确定的:
响应配置字段变换指令,根据配置字段变换指令对应的字段名及每个字段名对应的转换函数,确定目标表信息;
其中,字段名是在对原始表配置表组合后,确定的备选字段名中选择的。
在一种可能的实现方式中,调用NiFi工具的API接口创建任务流,并在任务流中设置目标脚本时,调用NiFi工具的API接口创建任务流,并在任务流创建成功后,调用NiFi工具的API接口,在任务流中设置目标脚本。
在一种可能的实现方式中,调用NiFi工具的API接口创建任务流,并在任务流中设置目标脚本后,响应目标脚本设置成功指令,并发送运行任务流的指令,以在运行任务流时,通过预先开发的处理节点执行目标脚本,根据目标表中的字段名在原始表的数据中确定需要进行数据转换的数据,并对需要进行数据转换的数据进行数据转换。
如图10所示,为本申请实施例提供的另一种数据转换的方法流程图,包括如下步骤:
步骤1000,响应创建任务流的指令,基于预先创建的转换模板创建任务流,并在任务流中设置目标脚本,其中,目标脚本是数据治理平台在响应数据转换指令后,根据数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式的预设基础脚本进行组合生成的;
步骤1001,响应运行任务流的指令,执行目标脚本,读取目标脚本中原始表的数据,确定需要进行数据转换的数据;
步骤1002,将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
在一种可能的实现方式中,响应运行任务流的指令,执行目标脚本,读取目标脚本中原始表的数据,确定需要进行数据转换的数据时,通过预先开发的处理节点执行目标脚本,读取目标脚本中原始表的数据,根据目标脚本中目标表的字段名,在原始表的数据中确定需要进行数据转换的数据。
在一种可能的实现方式中,根据目标脚本中目标表的字段名,在原始表的数据中确定需要进行数据转换的数据时,根据目标脚本中目标表的字段名,以及目标脚本中预设基础脚本的运算逻辑,在原始表的数据中确定需要进行数据转换的数据。
在一种可能的实现方式中,根据目标脚本中目标表的字段名,以及目标脚本中预设基础脚本的运算逻辑,在原始表的数据中确定需要进行数据转换的数据时,若目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,需要进行数据转换的数据为原始表中存储且与目标表存储的字段名对应的数据;
若目标脚本中预设基础脚本的运算逻辑为追加模式的预设基础脚本的运算逻辑,则需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大时间,且原始表和目标表中同时存储的字段名对应的数据;
若目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑,则需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大时间,且原始表和目标表中同时存储的字段名对应的数据。
在一种可能的实现方式中,将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中时,将需要进行数据转换的数据,按照目标脚本的目标表中存储的与需要进行数据转换的数据的字段名对应的转换函数,将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
在一种可能的实现方式中,将转换后的数据写入目标表中之前,若目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,则将目标表中存储的数据删除。
在一种可能的实现方式中,将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中时,当目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑时,若确定需要进行数据转换的数据对应的主键在目标表中存在,则将使用转换后的目标数据替换目标表中主键对应的数据,否则将转换后的数据写入目标脚本对应的目标表中。
基于同一发明构思,本申请实施例还提供了一种数据转换的装置1100,如图11所示,该装置1100包括:响应模块1101、调用模块1102;其中:
响应模块1101,用于响应数据转换指令,将数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式预设基础脚本进行组合,生成目标脚本;调用模块1102,用于调用NiFi工具的应用程序接口API接口创建任务流,并在任务流中设置目标脚本,以在运行任务流时,通过预先开发的处理节点执行目标脚本,进行数据转换。
在一种可能的实现方式中,响应模块1101具体用于:
将目标表中的各个字段名,以及各个字段名对应的转换函数,按照字段名与转换函数之间的对应关系,填写到转换模式的预设基础脚本的第一设定位置上;以及
将原始表的数据填写到转换模式的预设基础脚本的第二设定位置上。
在一种可能的实现方式中,响应模块1101通过如下方式确定目标表信息:
响应配置字段变换指令,根据配置字段变换指令对应的字段名及每个字段名对应的转换函数,确定目标表信息;
其中,字段名是在对原始表配置组合后,确定的备选字段名中选择的。
在一种可能的实现方式中,调用模块1102具体用于:
调用NiFi工具的API接口创建任务流,并在任务流创建成功后,调用NiFi工具的API接口,在任务流中设置目标脚本。
在一种可能的实现方式中,调用模块1102还用于:
调用NiFi工具的API接口创建任务流,并在任务流中设置目标脚本后,响应目标脚本设置成功指令,并向NiFi工具发送运行任务流的指令,以使NiFi工具在运行任务流时,通过预先开发的处理节点执行目标脚本,根据目标表中的字段名在原始表的数据中确定需要进行数据转换的数据,并对需要进行数据转换的数据进行数据转换。
基于同一发明构思,本申请实施例还提供了一种数据转换的装置1200,如图12所示,该装置1200包括:创建模块1201、读取模块1202以及转换模块1203;其中:
创建模块1201,用于响应创建任务流的指令,基于预先创建的转换模板创建任务流,并在任务流中设置目标脚本,其中,目标脚本是数据治理平台在响应数据转换指令后,根据数据转换指令对应的目标表信息、数据转换指令对应的原始表,以及数据转换指令对应的转换模式预设基础脚本进行组合生成的;
读取模块1202,用于响应运行任务流的指令,执行目标脚本,读取目标脚本中原始表的数据,确定需要进行数据转换的数据;
转换模块1203,用于将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
在一种可能的实现方式中,读取模块1202具体用于:
通过预先开发的处理节点执行目标脚本,读取目标脚本中原始表的数据,根据目标脚本中目标表的字段名,在原始表的数据中确定需要进行数据转换的数据。
在一种可能的实现方式中,读取模块1202还用于:
根据目标脚本中目标表的字段名,以及目标脚本中预设基础脚本的运算逻辑,在原始表的数据中确定需要进行数据转换的数据。
在一种可能的实现方式中,读取模块1202具体用于:
若目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,需要进行数据转换的数据为原始表中存储且与目标表存储的字段名对应的数据;
若目标脚本中预设基础脚本的运算逻辑为追加模式的预设基础脚本的运算逻辑,则需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大时间,且原始表和目标表中同时存储的字段名对应的数据;
若目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑,则需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于最大时间,且原始表和目标表中同时存储的字段名对应的数据。
在一种可能的实现方式中,转换模块1203具体用于:
将需要进行数据转换的数据,按照目标脚本的目标表中存储的与需要进行数据转换的数据的字段名对应的转换函数,将需要进行数据转换的数据转换成目标数据,并写入目标脚本对应的目标表中。
在一种可能的实现方式中,转换模块1203还用于:
将转换后的数据写入目标表中之前,若目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,则将目标表中存储的数据删除。
在一种可能的实现方式中,转换模块1203还用于:
当目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑时,若确定需要进行数据转换的数据对应的主键在目标表中存在,则将使用转换后的目标数据替换目标表中主键对应的数据,否则将转换后的数据写入目标脚本对应的目标表中。
为了描述的方便,以上各部分按照功能划分为各单元(或模块)分别描述。当然,在实施本申请时可以把各单元(或模块)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式数据转换的方法及装置后,接下来介绍本申请的另一示例性实施方式的用于数据转换的设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一种可能的实现方式中,本申请实施例提供的数据转换的设备可以至少包括处理器和存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本申请中各种示例性实施方式的数据转换的方法中的任一步骤。
下面参照图13来描述根据本申请的这种实施方式的数据转换的设备1300。如图13的数据转换的设备1300仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,数据转换的设备1300的组件可以包括但不限于:上述至少一个处理器1301、上述至少一个存储器1302、连接不同系统组件(包括存储器1302和处理器1301)的总线1303。
总线1303表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器1302可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)13021和/或高速缓存存储器13022,还可以进一步包括只读存储器(ROM)13023。
存储器1302还可以包括具有一组(至少一个)程序模块13024的程序/实用工具13025,这样的程序模块13024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
数据转换的设备1300也可以与一个或多个外部设备1304(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与数据转换的设备1300交互的设备通信,和/或与使得该数据转换的设备1300能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1305进行。并且,数据转换的设备1300还可以通过网络适配器1306与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图13所示,网络适配器1306通过总线1303与用于数据转换的设备1300的其它模块通信。应当理解,尽管图13中未示出,可以结合数据转换的设备1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的数据转换方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据转换方法中的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种数据转换的方法,其特征在于,该方法包括:
响应数据转换指令,将所述数据转换指令对应的目标表信息、所述数据转换指令对应的原始表,以及所述数据转换指令对应的转换模式的预设基础脚本进行组合,生成目标脚本;
调用NiFi工具的应用程序接口API接口创建任务流,并在所述任务流中设置所述目标脚本,以在运行所述任务流时,通过预先开发的处理节点执行所述目标脚本,进行数据转换。
2.如权利要求1所述的方法,其特征在于,所述将所述数据转化指令对应的目标表信息、所述数据转换指令对应的原始表,以及所述数据转换指令对应的转换模式的预设基础脚本进行组合,生成目标脚本,包括:
将所述目标表中的各个字段名,以及所述各个字段名对应的转换函数,按照字段名与转换函数之间的对应关系,填写到所述转换模式的预设基础脚本的第一设定位置上;以及
将所述原始表的数据填写到所述转换模式的预设基础脚本的第二设定位置上。
3.如权利要求1或2所述的方法,其特征在于,所述目标表信息是通过如下方式确定的:
响应配置字段变换指令,根据所述配置字段变换指令对应的字段名及每个字段名对应的转换函数,确定所述目标表信息;
其中,所述字段名是在对原始表配置表组合后,确定的备选字段名中选择的。
4.如权利要求1所述的方法,其特征在于,所述调用NiFi工具的API接口创建任务流,并在所述任务流中设置所述目标脚本,包括:
调用所述NiFi工具的API接口创建任务流,并在所述任务流创建成功后,调用所述NiFi工具的API接口,在所述任务流中设置所述目标脚本。
5.如权利要求1所述的方法,其特征在于,所述调用NiFi工具的API接口创建任务流,并在所述任务流中设置所述目标脚本后,还包括:
响应目标脚本设置成功指令,并发送运行任务流的指令,以在运行所述任务流时,通过预先开发的处理节点执行所述目标脚本,根据所述目标表中的字段名在所述原始表的数据中确定需要进行数据转换的数据,并对所述需要进行数据转换的数据进行数据转换。
6.一种数据转换的方法,其特征在于,该方法包括:
响应创建任务流的指令,基于预先创建的转换模板创建任务流,并在所述任务流中设置目标脚本,其中,所述目标脚本是数据治理平台在响应数据转换指令后,根据所述数据转换指令对应的目标表信息、所述数据转换指令对应的原始表,以及所述数据转换指令对应的转换模式的预设基础脚本进行组合生成的;
响应运行任务流的指令,执行所述目标脚本,读取所述目标脚本中原始表的数据,确定需要进行数据转换的数据;
将所述需要进行数据转换的数据转换成目标数据,并写入所述目标脚本对应的目标表中。
7.如权利要求6所述的方法,其特征在于,所述响应运行任务流的指令,执行所述目标脚本,读取所述目标脚本中原始表的数据,确定需要进行数据转换的数据,包括:
通过预先开发的处理节点执行所述目标脚本,读取所述目标脚本中原始表的数据,根据所述目标脚本中目标表的字段名,在所述原始表的数据中确定需要进行数据转换的数据。
8.如权利要求7所述的方法,其特征在于,所述根据所述目标脚本中目标表的字段名,在所述原始表的数据中确定需要进行数据转换的数据,还包括:
根据所述目标脚本中目标表的字段名,以及所述目标脚本中预设基础脚本的运算逻辑,在所述原始表的数据中确定需要进行数据转换的数据。
9.如权利要求8所述的方法,其特征在于,所述根据所述目标脚本中目标表的字段名,以及所述目标脚本中预设基础脚本的运算逻辑,在所述原始表的数据中确定需要进行数据转换的数据,包括:
若所述目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,所述需要进行数据转换的数据为所述原始表中存储且与所述目标表存储的字段名对应的数据;
若所述目标脚本中预设基础脚本的运算逻辑为追加模式的预设基础脚本的运算逻辑,则所述需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于所述最大时间,且原始表和目标表中同时存储的字段名对应的数据;
若所述目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑,则所述需要进行数据转换的数据是根据目标表数据的更新标识,确定最大更新时间,并在原始表中的数据中确定更新时间大于所述最大时间,且原始表和目标表中同时存储的字段名对应的数据。
10.如权利要求6~9任一所述的方法,其特征在于,所述将所述需要进行数据转换的数据转换成目标数据,并写入所述目标脚本对应的目标表中,包括:
将所述需要进行数据转换的数据,按照所述目标脚本的目标表中存储的与所述需要进行数据转换的数据的字段名对应的转换函数,将所述需要进行数据转换的数据转换成目标数据,并写入所述目标脚本对应的目标表中。
11.如权利要求9所述的方法,其特征在于,所述将转换后的数据写入所述目标表中之前,还包括:
若所述目标脚本中预设基础脚本的运算逻辑为覆盖模式的预设基础脚本的运算逻辑,则将所述目标表中存储的数据删除。
12.如权利要求9所述的方法,其特征在于,所述将所述需要进行数据转换的数据转换成目标数据,并写入所述目标脚本对应的目标表中,包括:
当所述目标脚本中预设基础脚本的运算逻辑为去重追加模式的预设基础脚本的运算逻辑时,若确定需要进行数据转换的数据对应的主键在目标表中存在,则将使用转换后的目标数据替换目标表中所述主键对应的数据,否则将转换后的数据写入所述目标脚本对应的目标表中。
13.一种数据转换的装置,其特征在于,该装置包括:
响应模块,用于响应数据转换指令,将所述数据转换指令对应的目标表信息、所述数据转换指令对应的原始表,以及所述数据转换指令对应的转换模式预设基础脚本进行组合,生成目标脚本;
调用模块,用于调用NiFi工具的应用程序接口API接口创建任务流,并在所述任务流中设置所述目标脚本,以在运行所述任务流时,通过预先开发的处理节点执行所述目标脚本,进行数据转换。
14.一种数据转换的装置,其特征在于,该装置包括:
创建模块,用于响应创建任务流的指令,基于预先创建的转换模板创建任务流,并在所述任务流中设置目标脚本,其中,所述目标脚本是数据治理平台在响应数据转换指令后,根据所述数据转换指令对应的目标表信息、所述数据转换指令对应的原始表,以及所述数据转换指令对应的转换模式预设基础脚本进行组合生成的;
读取模块,用于响应运行任务流的指令,执行所述目标脚本,读取所述目标脚本中原始表的数据,确定需要进行数据转换的数据;
转换模块,用于将所述需要进行数据转换的数据转换成目标数据,并写入所述目标脚本对应的目标表中。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-11任一项所述的数据转换的方法。
CN201911403886.3A 2019-12-30 2019-12-30 一种数据转换的方法、装置及存储介质 Active CN111177247B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911403886.3A CN111177247B (zh) 2019-12-30 2019-12-30 一种数据转换的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911403886.3A CN111177247B (zh) 2019-12-30 2019-12-30 一种数据转换的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111177247A true CN111177247A (zh) 2020-05-19
CN111177247B CN111177247B (zh) 2023-10-20

Family

ID=70655863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911403886.3A Active CN111177247B (zh) 2019-12-30 2019-12-30 一种数据转换的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111177247B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111985188A (zh) * 2020-07-22 2020-11-24 用友网络科技股份有限公司 一种数据转换方法、装置、终端和存储介质
CN113485763A (zh) * 2021-07-02 2021-10-08 中国建设银行股份有限公司 一种数据处理方法、装置、电子设备及计算机可读介质
CN113641362A (zh) * 2021-08-10 2021-11-12 中国平安人寿保险股份有限公司 客户画像的更新方法、装置、设备以及存储介质
CN114675812A (zh) * 2021-04-01 2022-06-28 腾讯云计算(北京)有限责任公司 一种数据表处理方法、装置、计算机设备以及存储介质
CN116705171A (zh) * 2023-05-24 2023-09-05 西北大学 一种批量生物数据处理方法、装置及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104007984A (zh) * 2014-06-20 2014-08-27 中国银行股份有限公司 一种转换数据的方法及装置
CN104317843A (zh) * 2014-10-11 2015-01-28 上海瀚之友信息技术服务有限公司 一种数据同步etl系统
CN105893117A (zh) * 2015-11-26 2016-08-24 乐视云计算有限公司 云服务的任务流的配置系统及方法
CN107463356A (zh) * 2017-08-17 2017-12-12 北京云纵信息技术有限公司 任务流程的执行方法和装置
CN107766132A (zh) * 2017-06-25 2018-03-06 平安科技(深圳)有限公司 多任务调度方法、应用服务器及计算机可读存储介质
CN107798069A (zh) * 2017-09-26 2018-03-13 恒生电子股份有限公司 用于数据加载的方法、装置及计算机可读介质
CN107958057A (zh) * 2017-11-29 2018-04-24 苏宁云商集团股份有限公司 一种用于异构数据库中数据迁移的代码生成方法及装置
CN108154341A (zh) * 2017-12-18 2018-06-12 千寻位置网络有限公司 基于数据流和工作流的统一调度平台及工作方法
CN109359157A (zh) * 2018-08-21 2019-02-19 中国平安人寿保险股份有限公司 数据同步生成方法、装置、计算机设备以及存储介质
CN110019533A (zh) * 2018-05-24 2019-07-16 中国平安人寿保险股份有限公司 同步脚本生成方法、装置、设备及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104007984A (zh) * 2014-06-20 2014-08-27 中国银行股份有限公司 一种转换数据的方法及装置
CN104317843A (zh) * 2014-10-11 2015-01-28 上海瀚之友信息技术服务有限公司 一种数据同步etl系统
CN105893117A (zh) * 2015-11-26 2016-08-24 乐视云计算有限公司 云服务的任务流的配置系统及方法
CN107766132A (zh) * 2017-06-25 2018-03-06 平安科技(深圳)有限公司 多任务调度方法、应用服务器及计算机可读存储介质
CN107463356A (zh) * 2017-08-17 2017-12-12 北京云纵信息技术有限公司 任务流程的执行方法和装置
CN107798069A (zh) * 2017-09-26 2018-03-13 恒生电子股份有限公司 用于数据加载的方法、装置及计算机可读介质
CN107958057A (zh) * 2017-11-29 2018-04-24 苏宁云商集团股份有限公司 一种用于异构数据库中数据迁移的代码生成方法及装置
CN108154341A (zh) * 2017-12-18 2018-06-12 千寻位置网络有限公司 基于数据流和工作流的统一调度平台及工作方法
CN110019533A (zh) * 2018-05-24 2019-07-16 中国平安人寿保险股份有限公司 同步脚本生成方法、装置、设备及计算机可读存储介质
CN109359157A (zh) * 2018-08-21 2019-02-19 中国平安人寿保险股份有限公司 数据同步生成方法、装置、计算机设备以及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111985188A (zh) * 2020-07-22 2020-11-24 用友网络科技股份有限公司 一种数据转换方法、装置、终端和存储介质
CN114675812A (zh) * 2021-04-01 2022-06-28 腾讯云计算(北京)有限责任公司 一种数据表处理方法、装置、计算机设备以及存储介质
CN113485763A (zh) * 2021-07-02 2021-10-08 中国建设银行股份有限公司 一种数据处理方法、装置、电子设备及计算机可读介质
CN113641362A (zh) * 2021-08-10 2021-11-12 中国平安人寿保险股份有限公司 客户画像的更新方法、装置、设备以及存储介质
CN116705171A (zh) * 2023-05-24 2023-09-05 西北大学 一种批量生物数据处理方法、装置及介质
CN116705171B (zh) * 2023-05-24 2024-04-05 西北大学 一种批量生物数据处理方法、装置及介质

Also Published As

Publication number Publication date
CN111177247B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN111177247B (zh) 一种数据转换的方法、装置及存储介质
CN109902105B (zh) 用于微服务架构的数据查询系统、方法、设备及存储介质
US8667456B1 (en) Cloud-based indexing for integrated development environments
CN104881285B (zh) 基于本体的代码片段标注与重用系统
CN111709527A (zh) 运维知识图谱库的建立方法、装置、设备及存储介质
US10013238B2 (en) Predicting elements for workflow development
CN112711581A (zh) 医疗数据校验方法、装置、电子设备及存储介质
CN104346153A (zh) 用于翻译应用程序的文本信息的方法和系统
US12056468B2 (en) Code execution and data processing pipeline
WO2022100032A1 (zh) 系统分析可视化方法、装置、电子设备及计算机可读存储介质
CN112231568B (zh) 酒店标签自动配置化方法、装置、电子设备、存储介质
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
CN112905178B (zh) 业务功能页面生成方法、装置、设备及介质
CN113268695B (zh) 数据埋点处理方法、装置及相关设备
CN114358742A (zh) 一种工作流执行方法、装置、设备及存储介质
US12111836B2 (en) Generating consolidated visual representations for user journeys via profile tracing
JP5018176B2 (ja) 環境移行サーバ装置、端末装置、環境移行方法及び環境移行プログラム
CN111753164A (zh) 链路事件引导方法、装置、电子设备及存储介质
US20220198301A1 (en) Method and apparatus for update processing of question answering system
CN115629763A (zh) 目标代码的生成方法、npu指令的显示方法及装置
US8670973B2 (en) Language translation reuse in different systems
CN115202643A (zh) 图标资源的删除方法、装置、电子设备及介质
CN113918254A (zh) 语言文本管理方法、装置、存储介质及电子设备
US20230024249A1 (en) Information cooperation device, information cooperation method, and information cooperation program
CN112988817B (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
GR01 Patent grant
GR01 Patent grant