CN110569090A - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents
一种数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110569090A CN110569090A CN201810570841.4A CN201810570841A CN110569090A CN 110569090 A CN110569090 A CN 110569090A CN 201810570841 A CN201810570841 A CN 201810570841A CN 110569090 A CN110569090 A CN 110569090A
- Authority
- CN
- China
- Prior art keywords
- component
- data
- data source
- engine
- executing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据处理方法、装置、电子设备及存储介质,所述方法包括:接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取‑转换‑装载ETL组件的标识信息;根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。由于在本发明实施例中,用户可以根据自身对数据处理的需求,下发包含待执行的ETL组件的标识信息的选择指令及包含数据源信息的配置指令,电子设备可以根据选择指令,确定目标ETL组件组并执行,对数据源中的数据进行处理。能够实现通过同一数据处理客户端满足用户不同的数据处理需求,提高了数据处理客户端的通用性与易用性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
数据处理技术是当前各行各业争相推动和依赖的技术领域,尤其是在互联网、电子商务、消费金融等行业,日常需要运行数以万记的数据,抽取-转换-加载(Extract-Transform-Load,ETL)作为构建数据仓库的一种重要工具,为数据分析、业务决策提供了重要的支撑。
然而现有技术中,往往采用定制化的方式开发进行数据处理的数据处理客户端,数据处理客户端中进行数据处理的组件是固定的,一种数据客户端只能支持一种方式的数据处理,因此用户在对数据进行处理时,只能根据自身的需求选择对应的数据处理客户端,数据处理客户端易用性低,并且在用户存在多种数据处理需求时,往往需要使用多种数据处理客户端,数据处理客户端的开发与管理复杂,给用户带来了负担和不便,影响了用户的体验。
发明内容
本发明提供了一种数据处理方法、装置、电子设备及存储介质,用以解决现有技术中数据处理客户端易用性低、开发与管理复杂,给用户带来不便和负担的问题。
第一方面,本发明公开了一种数据处理方法,所述方法包括:
接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;
根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
采用本发明的数据处理方法,用户可以根据自身对数据处理的需求,下发包含待执行的ETL组件的标识信息的选择指令及包含数据源信息的配置指令,电子设备根据选择指令,确定并执行目标ETL组件组,对数据源中的数据进行处理。实现了通过同一数据处理客户端满足用户不同的数据处理需求,提高了数据处理客户端的通用性与易用性。避免了针对用户不同的数据处理需求开发不同的数据处理客户端,简化了数据处理客户端的开发与管理,减轻了用户的负担,提高了用户的体验。
可选的,所述目标ETL组件组包括:
实时处理的抽取E组件和加载L组件;或,
实时处理的E组件、转换T组件和L组件;或,
批处理的E组件和L组件;或,
批处理的E组件、T组件和L组件。
通过上述可选的方式,用户可以根据自身对数据处理的需求,选择进行处理的ETL组件,进一步提高了数据处理的灵活性。
可选的,如果目标ETL组件组为实时处理的E组件和L组件或批处理的E组件和L组件,所述执行所述目标ETL组件组对所述数据源中的数据进行处理包括:
通过数据同步Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;
如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,所述执行所述目标ETL组件对所述数据源中的数据进行处理包括:
通过统一编程模型Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
通过该可选的方式,能过通过Crossdata引擎和Apache Beam引擎对批处理和实时处理实现统一的调度,进一步提高了数据处理的灵活性。
可选的,所述通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理之前,所述方法还包括:
判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型;
如果是,进行后续步骤。
可选的,如果所述数据源类型为所述Apache Beam引擎不支持的数据源类型,所述方法还包括:
通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
通过该可选方式,保证了在目标ETL组件组包括E组件、转换T组件和L组件时,通过识别数据源的类型是否为Apache Beam引擎所支持的数据类型,确定是否由Apache Beam引擎执行T组件,进一步保证了数据处理的准确性与稳定性。
可选的,所述方法还包括:
如果检测到所述目标ETL组件组中任一组件运行错误,发出告警信息。
通过该可选方式,可以在目标ETL组件组中任一组件运行错误时,发出告警信息,提示用户存在组件运行错误,进一步提高了用户的体验。
第二方面,本发明公开了一种数据处理装置,所述装置包括:
接收模块,用于接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;
处理模块,用于根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
第三方面,本发明公开了一种电子设备,包括存储器和处理器;
所述处理器,用于读取存储器中的程序,执行下列过程:接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
可选的,所述目标ETL组件组包括:
实时处理的抽取E组件和加载L组件;或,
实时处理的E组件、转换T组件和L组件;或,
批处理的E组件和L组件;或,
批处理的E组件、T组件和L组件。
可选的,所述处理器,具体用于如果目标ETL组件组为实时处理的E组件和L组件或批处理的E组件和L组件,通过数据同步Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,通过统一编程模型Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
可选的,所述处理器,还用于判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型;如果判断结果为是,进行通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理的步骤。
可选的,所述处理器,还用于如果判断所述数据源类型为所述Apache Beam引擎不支持的数据源类型,通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
可选的,所述处理器,还用于如果检测到所述目标ETL组件组中任一组件运行错误,发出告警信息。
第四方面,本发明公开了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
第五方面,本发明公开了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述任一项所述方法的步骤。
本发明公开了一种数据处理方法、装置、电子设备及存储介质,所述方法包括:接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。由于在本发明实施例中,用户可以根据自身对数据处理的需求,下发包含待执行的ETL组件的标识信息的选择指令及包含数据源信息的配置指令,电子设备根据选择指令,确定并执行目标ETL组件组,对数据源中的数据进行处理。实现了通过同一数据处理客户端满足用户不同的数据处理需求,提高了数据处理客户端的通用性与易用性,避免了针对用户不同的数据处理需求开发不同的数据处理客户端,简化了数据处理客户端的开发与管理,减轻了用户的负担,提高了用户的体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为Apache Beam引擎架构示意图;
图2为本发明提供的一种数据处理架构示意图;
图3为本发明实施例提供的一种数据处理过程示意图;
图4为本发明实施例提供的一种Crossdata引擎执行E组件或L组件的流程示意图;
图5为本发明实施例提供的一种Apache Beam引擎执行E组件、T组件和L组件的流程示意图;
图6为本发明实施例提供的一种数据处理装置结构示意图;
图7为本发明实施例提供的一种数据处理装置的功能层次架构示意图;
图8为本发明实施例提供的一种执行引擎架构示意图;
图9为本发明实施例提供的一种调度引擎架构示意图;
图10为本发明实施例提供的一种数据处理装置操作过程示意图;
图11为本发明实施例提供的一种电子设备结构示意图;
图12为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
统一编程模型(Apache Beam)引擎是Google贡献给Apache社区的一项标准类项目,主要提供了一种无限制无规则的(unbounded inordered)的数据操作接口,并将有规则的(ordered)作为inordered的一种特例来处理,将有限制的(bounded)作为(unbounded)的一种特例来处理,从而达到统一批处理和实时处理的目的。如图1所示,Apache Beam引擎主要分为两个模块,应用程序编程接口(Application Programming Interface,API)模块,用于提供一套以管道(Pipeline)为中心的Java、Python等(Other)语言接口,用户可以在Pipeline上应用几种内置的操作,来构成一个计算图(Computation Graph);Runner模块,用于对API模块生成的Computation Graph进行解释执行,通过使用不同的Runner来使Pipeline运行在不同的框架上,如:Spark、Flink等(Other)。
数据同步(Crossdata)引擎是一种异构数据源同步工具,致力于实现包括Hive、HBase、Kafka、MQ、HDFS、FTP、关系型数据库,如MySQL、Oracle等、MPP数据库Vertica、GreePlum、Gbase等各种异构数据源之间稳定高效的数据同步功能。
图2为本发明提供的一种数据处理架构示意图,在流程设计开发时,用户可以向电子设备发送包含待执行的ETL组件标识信息的选择指令,电子设备通过接收的选择指令确定批处理或实时处理的ETL组件组,对数据源中的批量数据(batch)或流数据(streaming)进行批处理或实时处理,将处理后的数据加载至数据仓库(warehouse)中,为业务统计、账单查询、位置应用等提供数据支持。
实施例1:
图3为本发明实施例提供的一种数据处理过程示意图,该过程包括:
S301:接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的ETL组件的标识信息。
本发明实施例提供的数据处理方法应用于电子设备,该电子设备可以是平板电脑、个人电脑、服务器等设备。
具体的,电子设备提供有供用户选择ETL组件的选择界面,该选择界面提供有供用户选择的抽取(extract,E)类组件、装载(Load,L)类组件和转换(Transform,T)类组件,其中T类组件包括缺值处理、生成列、去重、条件过滤、条件替换等处理功能的T类组件。用户可以在该选择界面,根据自身对数据处理的需求,选择待执行的实时处理的E组件和L组件;或实时处理的E组件、T组件和L组件;或批处理的E组件和L组件;或批处理的E组件、T组件和L组件,其中用户选择的实时处理或批处理的T组件可以为一个也可以为多个,如用户选择的实时处理或批处理的T组件可以为条件过滤的T组件和生成列的T组件。电子设备根据用户选择的待执行的ETL组件的标识信息,生成选择指令。
另外,电子设备还提供有供用户进行参数配置的配置界面,用户可以在该界面配置用户选择的ETL组件对应的参数信息,例如:数据源信息。在本发明实施例中数据源可以为文件类的数据源,也可以为数据库类的数据源,较佳的,如果数据源为数据库类的数据源,数据源信息可以包括:数据源类型、数据源统一资源定位器(Uniform ResoureLocator,URL)、用户名、密码、表名、列字段等,如果数据源为文件类的数据源,数据源信息可以包括:数据源类型、数据源URL、用户名、密码、目标路径、文件名等,此外,如果数据源为数据库类的数据源,用户还可以配置过滤条件、并发数等信息,如果数据源为文件类的数据源,用户还可以配置压缩类型、文件编码、文件类型、列字段等信息。电子设备根据用户配置的参数信息,生成包含数据源信息的配置指令。
S302:根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
在本发明实施例中,电子设备根据选择指令中待执行的ETL组件的标识信息,确定目标ETL组件组,其中,所述目标ETL组件组包括:实时处理的抽取E组件和加载L组件;或实时处理的E组件、转换T组件和L组件;或批处理的E组件和L组件;或批处理的E组件、T组件和L组件。
在本发明实施例中,电子设备中还预先配置有数据仓库的信息,电子设备可以按照预设的实时处理对应的增量计算机制执行实时处理的E组件和L组件或实时处理的E组件、T组件和L组件,按照预设的批处理对应的调度周期执行批处理的E组件和L组件或批处理的E组件、T组件和L组件,对数据源中的数据进行处理,将数据源中的数据加载至数据仓库。
当然了,电子设备还提供有供用户对数据处理进行调度配置的调度配置界面,用户可以在该调度配置界面设置批处理对应的调度周期,如设置按年/月/周/日/时/分/秒周期性调度;设置实时处理对应的增量计算机制,如增量计算机制对应的触发机制和/或窗口函数等。此外,用户还可以在该调度配置界面,配置数据处理的启动时间、停止时间,并且还可以在ETL组件组中加入等待、依赖等控制类组件,对数据处理进行控制。
由于在本发明实施例中,用户可以根据自身对数据处理的需求,下发包含待执行的ETL组件的标识信息的选择指令及包含数据源信息的配置指令,电子设备根据选择指令,确定并执行目标ETL组件组,对数据源中的数据进行处理。实现了通过同一数据处理客户端满足用户不同的数据处理需求,提高了数据处理客户端的通用性与易用性,避免了针对用户不同的数据处理需求开发不同的数据处理客户端,简化了数据处理客户端的开发与管理,减轻了用户的负担,提高了用户的体验。
实施例2:
为了保证数据处理的准确性,在上述实施例的基础上,在本发明实施例中,如果目标ETL组件组为实时处理的E组件和L组件或批处理的E组件和L组件,所述采用确定的所述目标ETL组件组对所述数据源中的数据进行处理包括:
通过Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;
如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,所述采用确定的所述目标ETL组件对所述数据源中的数据进行处理包括:
通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
在本发明实施例中,根据目标ETL组件组中包含的组件,确定执行目标ETL组件组的引擎,具体的,如果目标ETL组件组为E组件和L组件,通过Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;如果目标ETL组件组为E组件、T组件和L组件,通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
示例性的,以目标ETL组件组为批处理的E组件和L组件进行说明,Crossdata引擎执行E组件或L组件的流程示意图,如图4所示,Crossdata针对批处理的E组件或L组件创建Crossdata使用者(Client)对象,将Crossdata Client对象以可扩展标记语言(ExtensibleMarkup Language,XML)格式作业提交给Crossdata服务(Server),其中XML格式作业包括E组件或L组件输入选项和输出选项,Crossdata Server在传输引擎工具(Engine Router)中获取传输引擎,通过调用不同的传输引擎如数据交换引擎(DataX Engin)、数据转移引擎(Spoop Engine)、局部传输引擎(Local Engine)、分布式拷贝传输引擎(Distcp Engine)等,完成E组件或L组件中包括的DataX任务(job)、Spoop Job、Local Job、Distcp Job等。
示例性的,以目标ETL组件组为批处理的E组件、T组件和L组件进行说明,ApacheBeam引擎执行E组件、T组件和L组件的流程示意图,如图5所示,首先,创建Pipeline对象,设置Spark Runner的执行参数;然后,通过Apache Beam所提供的内置数据源接口调用数据源(文件、数据库等)输入(Input),并初始化PCollection,再对PCollection执行去重、过滤、分组等转换处理(ParDo、GroupByKey、Combine、Flattern/Partition),输出(Output)最终的PCollection至数据仓库,最后执行Pipeline。在本发明实施例中通过Apache Beam引擎执行E组件、T组件、L组件是现有技术,不再进行赘述。
实施例3:
为了进一步提高数据处理的准确性,所述通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理之前,所述方法还包括:
判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型;
如果是,进行后续步骤。
如果所述数据源类型为所述Apache Beam引擎不支持的数据源类型,所述方法还包括:
通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
具体的,Apache Beam引擎支持Hive、Redis、HDFS、Kafka等30多种类型的数据源间的E-T-L处理,为了进一步提高数据处理的准确性,在本发明实施例中,在电子设备中预先保存Apache Beam引擎所支持的数据源类型,如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型,如果是,则说明Apache Beam引擎支持数据源,通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理;否则,通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
具体的,通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理的过程为,Crossdata引擎执行E组件和L组件的映射归约(MapReduce)作业,将T组件的作业任务通过Apache Beam的Pipeline构建相应转换的Computation Graph,再对其调用Spark Runner进行解释执行。较佳的,还可以将组件E至组件T、组件T至组件L的中间数据结果存放在HDFS中。
实施例4:
为了提高数据处理的稳定性,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
如果检测到所述目标ETL组件组中任一组件运行错误,发出告警信息。
在本发明实施例中电子设备实时监控数据处理的执行状况,通过树状和/或表格形式记录数据处理的执行状况,在树状形式中,展示所有数据处理流程最新实例的执行状况,提供流程及任务级别的多种操作,如恢复执行、终止、指定任务执行、禁用、跳过、查看日志等操作;表格形式提供调度计划、实时监控、历史查询、最近执行等功能页面。
另外,如果电子设备监测到目标ETL组件组中任一组件运行错误,其中所述运行错误包括但不限于运行超时、时间点超时、任务失败等,通过蜂鸣、短信、邮件等方式发出告警信息。
实施例5:
图6为本发明实施例提供的一种数据处理装置结构示意图,所述装置包括:
接收模块61,用于接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;
处理模块62,用于根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
其中,所述目标ETL组件组包括:
实时处理的抽取E组件和加载L组件;或,
实时处理的E组件、转换T组件和L组件;或,
批处理的E组件和L组件;或,
批处理的E组件、T组件和L组件。
所述处理模块62,具体用于如果目标ETL组件组为实时处理的E组件和L组件或批处理的E组件和L组件,通过数据同步Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,通过统一编程模型Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
所述处理模块62,还用于判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型;如果判断结果为是,执行通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理的步骤。
所述处理模块62,还用于如果判断结果为否,通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
所述装置还包括:
预警模块63,用于如果检测到所述目标ETL组件组中任一组件运行错误,发出告警信息。
实施例6:
图7为本发明实施例提供的一种数据处理装置的功能层次架构示意图,其中,数据处理装置的云平台基于x86服务器构成的Hadoop集群,Hadoop2.X版本的核心设计为分布式文件系统(Hadoop Distributed File System,HDFS)以及资源管理系统(Yet AnotherResource Negotiator,YARN)。基于YARN,用户可以运行各种类型的应用程序,从离线计算的MapReduce到内存计算的Spark等,作为一个出色的资源管理系统,可以使各种计算框架在Hadoop上发挥各自优势,提高了集群资源利用率。Spark是基于内存计算的开源分布式计算框架,同时Spark扩展了MapReduce模型,允许开发者使用有向无环图(DAG)开发复杂的多步数据管道,并且支持跨有向无环图的内存数据共享,以便不同的作业可以共同处理同一个数据。本装置利用Spark主要支持实时数据处理。
数据处理装置的存储管理(HCatalog)的中间服务,Kafka是一种分布式发布订阅消息系统,具有出色的持久性、扩容性、实时性及吞吐能力。Kafka能够与实时流数据分析Spark等能够完美结合,加速数据传输与处理。本装置利用Kafka提供缓存的实时数据存储;Redis是完全内存运行的数据库,本装置用来保存流程信息,如:流程图中各组件、连接线的固有属性以及各组件配置信息及流程执行信息,如:YAML格式的组件配置信息。使用外部缓存的目的一是提高读写效率,二是为了当使用多台Tomcat做负载均衡或高可用时避免单点故障而使用集中式存储;MySQL是一种关系数据库管理系统,在WEB应用方面,MySQL是最好的RDBMS。本装置MySQL主要用来存放WEB端的持久化信息,如用户信息、流程信息、调度信息等。
数据处理装置的核心引擎包括Apache Beam、Crossdata和执行引擎,其中Crossdata引擎优先适用于E-L场景,支持20多种数据源间的直传,致力于实现包括Hive、HBase、Kafka、MQ、HDFS、FTP、关系型数据库,如MySQL、Oracle等、MPP数据库Vertica、GreePlum、Gbase等各种异构数据源之间稳定高效的数据同步功能,对大数据量采集传输具有很好的效果;而Apache Beam引擎可实现多种数据源间的E-T-L处理,无需中间落地,提供了批处理、实时处理统一处理框架,为数据处理客户端统一设计开发提供便利,另外ApacheBeam支持编写一次但可运行于多个不同底层平台的特性。在调度引擎部分,可对同一流程下的批处理与流处理任务进行统一调度管理。如图8所示执行引擎包括编译程序(Compiler)和流程引擎(FlowEngine),Compiler用来解析流程内容、验证流程参数、生成执行计划,FlowEngine依照执行计划并发执行目标ETL组件组。如图9所示调度引擎由实例(JobDetail)和触发器(Trigger)组成,JobDetail是调度作业的内容包括:作业名称、可执行程序,Trigger是调度参数包括:开始时间、周期、结束时间等。调度引擎的调度容器可以注册多个JobDetail和Trigger,JobDetail和Trigger组合,进行调度。调度引擎控制JobDetail的执行,控制策略通过Trigger实现,调度容器通过线程池并发调度作业,支持动态调度,JobDetail、Trigger都可以在运行时重新设置,并且在下次调用时候起作用。
数据处理装置的应用模块,包括开发模块、用户管理模块,系统管理模块,监控视图模块、预警管理模块。开发模块主要负责ETL流程任务的创建,主要包括以下部分:(a)项目管理:负责项目、流程任务的创建、修改、删除,流程任务隶属于某个项目,流程任务包括数据流和控制流,项目、流程以目录树形式管理。(b)数据流开发:负责数据流的创建,提供组件包括支持多种数据源的抽取组件、装载组件,支持清洗、转换、集成、稽核处理等转换组件。(c)流程编排:负责控制流的创建,提供组件包括调用数据流(批处理、实时处理)组件、数据同步组件、数据流转组件、等待组件、依赖组件、定时器组件、调度组件等。
监控视图模块主要负责实时监控和查询流程执行状况,提供树状形式和表格形式两种展示,树状形式中,展示所有流程最新实例的执行状况,提供流程及任务级别的多种操作,如恢复执行、终止、从指定任务执行、禁用、跳过、查看日志等操作;表格形式提供调度计划、实时监控、历史查询、最近执行等功能页面。
预警管理模块提供流程及组件级别的运行超时、时间点超时、任务失败等短信或邮件告警功能。
系统管理模块提供数据源配置管理、变量管理、自定义函数管理等功能。用户管理提供租户管理、开发者管理、资源管理等功能。
用户管理模块提供租户管理、开发者管理、资源管理等功能。
图10为本发明实施例提供的一种数据处理装置操作过程示意图,包括:创建用户,填写用户的信息;创建项目,如河北项目,为项目添加成员,即添加项目对应的用户;资源分配,为项目分配CPU/内存/磁盘等资源,其中项目的资源可以通过YARN、HDFS、HIVE服务等申请资源;为项目配置数据源,包括数据库、文件系统等;数据流开发,下达包含待选择的ETL组件的标识信息选择指令,确定目标ETL组件组;控制流开发,设置批处理对应的调度周期或实时处理对应的增量计算机制;任务调度,按照批处理对应的调度周期或实时处理对应的增量计算机制执行目标ETL组件组对数据源中的数据进行处理;监控告警,监控数据处理的执行情况,如果检测到任一组件运行错误,发出告警信息。
实时例7:
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与数据处理方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
如图11所示,其为本发明实施例提供的电子设备的结构示意图,其中在图11中,总线架构可以包括任意数量的互联的总线和桥,具体有处理器111代表的一个或多个处理器111和存储器112代表的存储器112的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器111负责管理总线架构和通常的处理,存储器112可以存储处理器111在执行操作时所使用的数据。
在本发明实施例提供的电子设备中:
所述处理器111,用于读取存储器112中的程序,执行下列过程:接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
其中,所述目标ETL组件组包括:
实时处理的抽取E组件和加载L组件;或,
实时处理的E组件、转换T组件和L组件;或,
批处理的E组件和L组件;或,
批处理的E组件、T组件和L组件。
所述处理器111,具体用于如果目标ETL组件组为实时处理的E组件和L组件或批处理的E组件和L组件,通过数据同步Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,通过统一编程模型Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
所述处理器111,还用于判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型;如果判断结果为是,进行通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理的步骤。
所述处理器111,还用于如果判断所述数据源类型为所述Apache Beam引擎不支持的数据源类型,通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
所述处理器111,还用于如果检测到所述目标ETL组件组中任一组件运行错误,发出告警信息。
实施例8:
在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图12所示,包括:处理器121、通信接口122、存储器123和通信总线124,其中,处理器121,通信接口122,存储器123通过通信总线124完成相互间的通信;
所述存储器123中存储有计算机程序,当所述程序被所述处理器121执行时,使得所述处理器121执行以下步骤:
接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;
根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
实施例9:
在上述各实施例的基础上,本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;
根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
本发明公开了一种数据处理方法、装置、电子设备及存储介质,所述方法包括:接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。由于在本发明实施例中,用户可以根据自身对数据处理的需求,下发包含待执行的ETL组件的标识信息的选择指令及包含数据源信息的配置指令,电子设备根据选择指令,确定并执行目标ETL组件组,对数据源中的数据进行处理。实现了通过同一数据处理客户端满足用户不同的数据处理需求,提高了数据处理客户端的通用性与易用性,避免了针对用户不同的数据处理需求开发不同的数据处理客户端,简化了数据处理客户端的开发与管理,减轻了用户的负担,提高了用户的体验。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种数据处理方法,其特征在于,所述方法包括:
接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;
根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
2.如权利要求1所述的方法,其特征在于,所述目标ETL组件组包括:
实时处理的抽取E组件和加载L组件;或,
实时处理的E组件、转换T组件和L组件;或,
批处理的E组件和L组件;或,
批处理的E组件、T组件和L组件。
3.如权利要求2所述的方法,其特征在于,如果目标ETL组件组为实时处理的E组件和L组件或批处理的E组件和L组件,所述执行所述目标ETL组件组对所述数据源中的数据进行处理包括:
通过数据同步Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;
如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,所述执行所述目标ETL组件对所述数据源中的数据进行处理包括:
通过统一编程模型Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
4.如权利要求3所述的方法,其特征在于,所述通过Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理之前,所述方法还包括:
判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型;
如果是,进行后续步骤。
5.如权利要求4所述的方法,其特征在于,如果所述数据源类型为所述Apache Beam引擎不支持的数据源类型,所述方法还包括:
通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
6.如权利要求1或3或5所述的方法,其特征在于,所述方法还包括:
如果检测到所述目标ETL组件组中任一组件运行错误,发出告警信息。
7.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;
处理模块,用于根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
8.一种电子设备,其特征在于,包括存储器和处理器;
所述处理器,用于读取存储器中的程序,执行下列过程:接收选择指令及包含数据源信息的配置指令,其中所述选择指令中包含待执行的抽取-转换-装载ETL组件的标识信息;根据所述选择指令,确定目标ETL组件组;并执行所述目标ETL组件组对所述数据源中的数据进行处理。
9.如权利要求8所述的电子设备,其特征在于,所述目标ETL组件组包括:
实时处理的抽取E组件和加载L组件;或,
实时处理的E组件、转换T组件和L组件;或,
批处理的E组件和L组件;或,
批处理的E组件、T组件和L组件。
10.如权利要求9所述的电子设备,其特征在于,所述处理器,具体用于如果目标ETL组件组为实时处理的E组件和L组件或批处理的E组件和L组件,通过数据同步Crossdata引擎执行所述E组件和L组件对所述数据源中的数据进行处理;如果目标ETL组件组为实时处理的E组件、T组件和L组件或批处理的E组件、T组件和L组件,通过统一编程模型Apache Beam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理。
11.如权利要求10所述的电子设备,其特征在于,所述处理器,还用于判断所述数据源类型是否为所述Apache Beam引擎支持的数据源类型;如果判断结果为是,进行通过ApacheBeam引擎执行所述E组件、T组件和L组件,对所述数据源中的数据进行处理的步骤。
12.如权利要求11所述的电子设备,其特征在于,所述处理器,还用于如果判断所述数据源类型为所述Apache Beam引擎不支持的数据源类型,通过Crossdata引擎执行所述E组件和L组件,通过Apache Beam引擎执行所述T组件对所述数据源中的数据进行处理。
13.如权利要求8或10或12所述的电子设备,其特征在于,所述处理器,还用于如果检测到所述目标ETL组件组中任一组件运行错误,发出告警信息。
14.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1-6任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行权利要求1-6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810570841.4A CN110569090A (zh) | 2018-06-05 | 2018-06-05 | 一种数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810570841.4A CN110569090A (zh) | 2018-06-05 | 2018-06-05 | 一种数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110569090A true CN110569090A (zh) | 2019-12-13 |
Family
ID=68772250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810570841.4A Pending CN110569090A (zh) | 2018-06-05 | 2018-06-05 | 一种数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569090A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061798A (zh) * | 2019-12-23 | 2020-04-24 | 杭州雷数科技有限公司 | 可配置化数据传输及监控方法、设备及介质 |
CN112270403A (zh) * | 2020-11-10 | 2021-01-26 | 北京百度网讯科技有限公司 | 构建深度学习的网络模型的方法、装置、设备和存储介质 |
CN112269902A (zh) * | 2020-11-10 | 2021-01-26 | 珠海市新德汇信息技术有限公司 | 一种大数据的数据采集方法 |
CN112800146A (zh) * | 2021-02-02 | 2021-05-14 | 北京互金新融科技有限公司 | 风控数据的回溯方法及装置、存储介质和处理器 |
CN113760567A (zh) * | 2020-11-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 信息处理系统、方法、装置和存储介质 |
CN113761283A (zh) * | 2020-06-01 | 2021-12-07 | 中移(苏州)软件技术有限公司 | 一种读取xml文件的方法及装置、设备、存储介质 |
CN113918238A (zh) * | 2021-09-27 | 2022-01-11 | 中盈优创资讯科技有限公司 | 一种基于Flink的异构数据源同步方法及装置 |
CN114817393A (zh) * | 2022-06-24 | 2022-07-29 | 深圳市信联征信有限公司 | 数据抽取和清洗方法、装置及存储介质 |
CN115543940A (zh) * | 2022-11-25 | 2022-12-30 | 卓望数码技术(深圳)有限公司 | 一种基于uri规则配置集成统一处理文件的系统和方法 |
US11899680B2 (en) | 2022-03-09 | 2024-02-13 | Oracle International Corporation | Techniques for metadata value-based mapping during data load in data integration job |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092474A (zh) * | 2016-12-13 | 2017-08-25 | 北京小度信息科技有限公司 | 程序开发方法、etl处理方法及装置 |
CN107784026A (zh) * | 2016-08-31 | 2018-03-09 | 杭州海康威视数字技术股份有限公司 | 一种etl数据处理方法及装置 |
-
2018
- 2018-06-05 CN CN201810570841.4A patent/CN110569090A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107784026A (zh) * | 2016-08-31 | 2018-03-09 | 杭州海康威视数字技术股份有限公司 | 一种etl数据处理方法及装置 |
CN107092474A (zh) * | 2016-12-13 | 2017-08-25 | 北京小度信息科技有限公司 | 程序开发方法、etl处理方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061798A (zh) * | 2019-12-23 | 2020-04-24 | 杭州雷数科技有限公司 | 可配置化数据传输及监控方法、设备及介质 |
CN111061798B (zh) * | 2019-12-23 | 2024-03-08 | 杭州雷数科技有限公司 | 可配置化数据传输及监控方法、设备及介质 |
CN113761283B (zh) * | 2020-06-01 | 2023-09-05 | 中移(苏州)软件技术有限公司 | 一种读取xml文件的方法及装置、设备、存储介质 |
CN113761283A (zh) * | 2020-06-01 | 2021-12-07 | 中移(苏州)软件技术有限公司 | 一种读取xml文件的方法及装置、设备、存储介质 |
CN112270403A (zh) * | 2020-11-10 | 2021-01-26 | 北京百度网讯科技有限公司 | 构建深度学习的网络模型的方法、装置、设备和存储介质 |
CN112269902A (zh) * | 2020-11-10 | 2021-01-26 | 珠海市新德汇信息技术有限公司 | 一种大数据的数据采集方法 |
CN112270403B (zh) * | 2020-11-10 | 2022-03-29 | 北京百度网讯科技有限公司 | 构建深度学习的网络模型的方法、装置、设备和存储介质 |
CN113760567A (zh) * | 2020-11-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 信息处理系统、方法、装置和存储介质 |
CN112800146A (zh) * | 2021-02-02 | 2021-05-14 | 北京互金新融科技有限公司 | 风控数据的回溯方法及装置、存储介质和处理器 |
CN112800146B (zh) * | 2021-02-02 | 2024-05-14 | 北京互金新融科技有限公司 | 风控数据的回溯方法及装置、存储介质和处理器 |
CN113918238A (zh) * | 2021-09-27 | 2022-01-11 | 中盈优创资讯科技有限公司 | 一种基于Flink的异构数据源同步方法及装置 |
US11899680B2 (en) | 2022-03-09 | 2024-02-13 | Oracle International Corporation | Techniques for metadata value-based mapping during data load in data integration job |
CN114817393B (zh) * | 2022-06-24 | 2022-09-16 | 深圳市信联征信有限公司 | 数据抽取和清洗方法、装置及存储介质 |
CN114817393A (zh) * | 2022-06-24 | 2022-07-29 | 深圳市信联征信有限公司 | 数据抽取和清洗方法、装置及存储介质 |
CN115543940A (zh) * | 2022-11-25 | 2022-12-30 | 卓望数码技术(深圳)有限公司 | 一种基于uri规则配置集成统一处理文件的系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569090A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US10901791B2 (en) | Providing configurable workflow capabilities | |
US9588822B1 (en) | Scheduler for data pipeline | |
Varia | Cloud architectures | |
US10146599B2 (en) | System and method for a generic actor system container application | |
Candan et al. | Frontiers in information and software as services | |
US11086763B2 (en) | Asynchronous consumer-driven contract testing in micro service architecture | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
CN107103064B (zh) | 数据统计方法及装置 | |
CN101751288A (zh) | 应用进程调度的方法、设备及系统 | |
CN111177237A (zh) | 一种数据处理系统、方法及装置 | |
Chen et al. | Cloud computing value chains: Research from the operations management perspective | |
CN111144830A (zh) | 一种企业级计算资源管理方法、系统和计算机设备 | |
Yu et al. | jBPM4S: A multi-tenant extension of jBPM to support BPaaS | |
US20140082627A1 (en) | Parallel compute framework | |
Xu et al. | Reviewing some cloud computing platforms | |
Botangen et al. | Towards measuring the adaptability of an ao4bpel process | |
Shuo et al. | Research on the application of service choreography in the intelligent customer service system | |
Samant | Autonomic Management of User-Centric Cloud Services for Smart Cities | |
Ortiz et al. | Akka Cookbook | |
Kylliäinen | Serverless Computing Use Cases–Benefits and Disadvantages | |
Yadav et al. | Real-Time Analytics with Storm | |
Baude et al. | Towards a flexible data stream analytics platform based on the GCM autonomous software component technology | |
Vilensten et al. | Aggregating and utilizing sensor data | |
Mazumder | Fast Data Analytics Stack for Big Data Analytics |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191213 |