CN110471968A - Etl任务的发布方法、装置、设备及存储介质 - Google Patents
Etl任务的发布方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110471968A CN110471968A CN201910623402.XA CN201910623402A CN110471968A CN 110471968 A CN110471968 A CN 110471968A CN 201910623402 A CN201910623402 A CN 201910623402A CN 110471968 A CN110471968 A CN 110471968A
- Authority
- CN
- China
- Prior art keywords
- actuator
- data source
- physical machine
- attribute information
- information
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
Abstract
本申请提供一种ETL任务的发布方法、装置、设备及存储介质,涉及通信技术领域。该ETL任务的发布方法包括:根据待发布的ETL任务中数据源的名称,从预设的数据源模型中获取所述数据源的属性信息;根据所述数据源的属性信息,发布所述ETL任务,以指示对所述数据源的数据进行ETL处理。本申请可有效简化ETL处理流程,提高ETL处理效率。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种数据提取转换加载(ExtractTransformLoad,ETL)任务的发布方法、装置、设备及存储介质。
背景技术
ETL作为数据仓库的重要一环,可将源数据源的数据进行抽取、清洗转换后,加载至目标数据源中。
无论是源数据源,还是目标数据源,不同的数据源具有不同的属性。对某个数据源的数据进行ETL处理之前,需为该ETL处理的每个ETL任务中均配置该数据源的属性信息。在一些场景中,针对一个数据源的数据,可能需执行多个ETL任务,如同一个数据源的多个数据提取任务、多个数据转换任务或者多个数据加载任务等。
目前的技术中,在ETL处理过程中,对所涉及的每个ETL任务均需配置数据源的属性信息,会使得ETL处理流程比较繁琐,从而使得ETL处理效率较低。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种ETL任务的发布方法、装置、设备及存储介质,以解决ETL处理流程繁琐,处理效率较低的问题。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种ETL任务的发布方法,包括:
根据待发布的ETL任务中数据源的名称,从预设的数据源模型中获取所述数据源的属性信息;
根据所述数据源的属性信息,发布所述ETL任务,以指示对所述数据源的数据进行ETL处理。
在一种实施方式中,所述数据源模型还包括:所述数据源的身份标识;在上述根据所述数据源的属性信息,发布所述ETL任务之前,所述方法还可包括:
根据所述数据源的名称,从所述数据源模型中获取所述数据源的身份标识;
根据所述数据源的身份标识,从预设的数据源管理系统中查找所述数据源的属性信息,所述数据源管理系统中存储有至少一个数据源的属性信息;
比较从所述数据源模型中获取的所述数据源的属性信息,以及,从所述数据源管理系统中查找的所述数据源的属性信息;
若从所述数据源模型中获取的所述数据源的属性信息,与从所述数据源管理系统中查找的所述数据源的属性信息,不相同,则根据从所述数据源管理系统中获取的所述数据源的属性信息,对所述数据源模型中存储的所述数据源的属性信息进行更新。
在再一种实施方式中,如上所示的所述根据所述数据源的属性信息,发布所述ETL任务,包括:
获取至少一个物理机的物理资源信息和至少一个所述物理机上的各执行器的任务执行信息;
根据所述物理机的物理资源信息和所述物理机上的各执行器的任务执行信息,从至少一个所述物理机上的执行器中确定目标执行器;
根据所述数据源的属性信息,向所述目标执行器所在的物理机发布所述ETL任务,由所述目标执行器执行所述ETL任务。
在再一种实施方式中,所述任务执行信息包括执行任务数;则所述根据所述物理机的物理资源信息和所述物理机上的各执行器的任务执行信息,从至少一个所述物理机上的执行器中确定目标执行器,包括:
根据所述物理机上的各执行器的执行任务数,确定至少一个所述物理机上是否存在空闲执行器;
若存在一个所述空闲执行器,则将所述空闲执行器作为所述目标执行器;
若存在多个所述空闲执行器,且,多个所述空闲执行器属于不同的物理机,则根据所述空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为所述目标执行器;
其中,每一物理机的空闲率为基于该物理机的物理资源信息确定出的。
在再一种实施方式中,如上所述的根据所述空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为所述目标执行器,可以包括:
根据所述空闲执行器所在的物理机的物理资源信息,生成所述执行器推荐列表,所述执行器推荐列表包括:至少一个执行器的信息,所述执行器推荐列表中执行器的信息的顺序是对所述至少一个执行器所在物理机的空闲率的顺序进行排列得到的;
根据所述执行器推荐列表,确定所述空闲率最大的物理机上的空闲执行器为所述目标执行器。
在再一种实施方式中,所述方法还包括:
若不存在空闲执行器,则根据至少一个所述物理机的物理资源信息,确定空闲物理机;所述空闲物理机为空闲率大于或等于预设阈值的物理机;
根据所述空闲物理机上的各执行器的执行任务数,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器。
在再一种实施方式中,如上所示的根据所述空闲物理机上的各执行器的执行任务数,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器,包括:
根据所述空闲物理机上的各执行器的执行任务数,生成所述执行器推荐列表,所述执行器推荐列表包括:至少一个执行器的信息,所述执行器推荐列表中执行器的信息的顺序是对所述至少一个执行器的执行任务数进行排列得到的;
根据所述执行器推荐列表,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器。
在再一种实施方式中,如上所示的ETL任务包括下述一种任务:提取任务、清洁任务、转换任务、加载任务。
第二方面,本申请实施例还提供一种提取转换加载ETL任务的发布装置,包括:
获取模块,用于根据待发布的ETL任务中数据源的名称,从预设的数据源模型中获取所述数据源的属性信息;
发布模块,用于根据所述数据源的属性信息,发布所述ETL任务,以指示对所述数据源的数据进行ETL处理。
在一种实施方式中,所述数据源模型还包括:所述数据源的身份标识;
所述获取模块,还用于根据所述数据源的名称,从所述数据源模型中获取所述数据源的身份标识;根据所述数据源的身份标识,从预设的数据源管理系统中查找所述数据源的属性信息,所述数据源管理系统中存储有至少一个数据源的属性信息;
所述装置还包括:
比较模块,用于比较从所述数据源模型中获取的所述数据源的属性信息,以及,从所述数据源管理系统中查找的所述数据源的属性信息;
更新模块,用于若从所述数据源模型中获取的所述数据源的属性信息,与从所述数据源管理系统中查找的所述数据源的属性信息,不相同,则根据从所述数据源管理系统中获取的所述数据源的属性信息,对所述数据源模型中存储的所述数据源的属性信息进行更新。
在再一种实施方式中,所述发布模块,具体用于获取至少一个物理机的物理资源信息和至少一个所述物理机上各执行器的任务执行信息;根据所述物理机的物理资源信息和所述物理机上的各执行器的任务执行信息,从至少一个所述物理机上的执行器中确定目标执行器;根据所述数据源的属性信息,向所述目标执行器所在的物理机发布所述ETL任务,由所述目标执行器执行所述ETL任务。
在再一种实施方式中,所述任务执行信息包括执行任务数;则所述发布模块,具体用于根据所述物理机上的各执行器的执行任务数,确定至少一个所述物理机上是否存在空闲执行器;若存在一个所述空闲执行器,则将所述空闲执行器作为所述目标执行器;若存在多个所述空闲执行器,且,多个所述空闲执行器属于不同的物理机,则根据所述空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为所述目标执行器;
其中,每一物理机的空闲率为基于该物理机的物理资源信息确定出的。
在再一种实施方式中,所述发布模块,具体用于根据所述空闲执行器所在的物理机的物理资源信息,生成所述执行器推荐列表,所述执行器推荐列表包括:至少一个执行器的信息,所述执行器推荐列表中执行器的信息的顺序是对所述至少一个执行器所在物理机的空闲率进行排列得到的;根据所述执行器推荐列表,确定所述空闲率最大的物理机上的空闲执行器为所述目标执行器。
在再一种实施方式中,所述发布模块,还用于若不存在空闲执行器,则根据至少一个所述物理机的物理资源信息,确定空闲物理机;根据所述空闲物理机上的各执行器的执行任务数,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器;所述空闲物理机为空闲率大于或等于预设阈值的物理机。
在再一种实施方式中,所述发布模块,具体用于根据所述空闲物理机上的各执行器的执行任务数,生成所述执行器推荐列表,所述执行器推荐列表包括:至少一个执行器的信息,所述执行器推荐列表中执行器的信息的顺序是对所述至少一个执行器的执行任务数进行排列得到的;根据所述执行器推荐列表,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器。
第三方面,本申请实施例还提供一种提取转换加载ETL任务的发布设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所提供的任一ETL任务的发布方法。
第四方面,本申请实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面所提供的任一ETL任务的发布方法。
本申请的有益效果是:
本申请所提供的ETL任务的发布方法、装置、设备及存储介质中,可根据待发布的ETL任务中的数据源的名称,从预设的数据源模型中获取该数据源的属性信息,并根据该数据源的属性信息,发布该ETL任务,以指示对该数据源的数据进行ETL处理。该方法中,由于该数据源模型用于存储该数据源的名称和该数据源的属性信息,无需为ETL任务专门配置数据源的属性信息,只要该ETL任务中具有该数据源的名称,即可基于该数据源的名称从该数据源模型中获取到该数据源的属性信息,用以发布ETL任务,有效简化了ETL处理流程,提高了ETL处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的一种数据仓库系统结构示意图;
图2为本发明一实施例提供的ETL任务的发布方法的流程示意图;
图3为本申请实施例提供的ETL任务的发布方法中抽取组件的界面示意图;
图4为本申请实施例提供的另一种ETL任务的发布方法的流程图;
图5为本申请实施例提供的又一种ETL任务的发布方法的流程图;
图6为本申请实施例提供的再一种ETL任务的发布方法的流程图;
图7为本申请实施例提供的ETL任务的发布装置的示意图;
图8为本申请实施例提供的另一种ETL任务的发布装置的示意图;
图9为本申请实施例提供的又一种ETL任务的发布装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本申请所提供的ETL任务的发布方法、装置、设备及存储介质,可应用于数据仓库系统中。图1为本发明提供的一种数据仓库系统结构示意图;如图1所示,该数据仓库系统可包括:源数据源101、目的数据源102、联机分析处理(Online Analytical Processing,OLAP)服务器103以及前端设备104。其中,源数据源101为数据的来源端,目的数据源102为数据的目的端。源数据源101和目的数据源102可以为不同的数据源,也可以为同一数据源。需要指出的是,在本申请的方案中,无论是源数据源101,还是目的数据源102,其均可作为数据的存储媒介,数据源的类型可以为下述任一类型的数据源:关系数据库、分布式文件系统(如Hadoop Distributed File System,HDFS)类型、键值(key-value)数据库、分布式文档存储数据库(Mongodb)、搜索数据库、分布式存储数据库等。其中,键值数据库例如可以为Redis数据库,搜索数据库例如可以为分布式搜索引擎的数据库如弹性搜索(ElasticSearch)数据库,分布式存储数据库例如可以为分布式面向列的开源数据库,如Hbase数据库。
在ETL处理过程中,可通过向物理机上发布ETL任务,用以实现ETL任务的执行,即:对源数据源101的数据进行提取、清洗转换等处理后,加载至目的数据源102中。
OLAP服务器103上可安装并运行有OLAP应用程序,通过运行该OLAP应用程序,调用预设的数据分析模型对待分析数据进行分析处理,其中,该待分析数据可以为从目的数据源102所获取的ETL处理之后的数据。
前端设备104上可安装有数据仓库系统的至少一种类型的应用工具,可通过运行该应用工具,可实现对数据仓库系统的访问,以获取数据仓库系统中OLAP服务器103的数据分析结果,继而进行进一步的数据处理。
本申请下述各实施例所提供的ETL任务的发布方法,可以为上述图1所示的数据仓库系统中ETL处理过程的一部分。如下通过多个实例对本申请所提供的ETL任务的发布方法进行示例说明。
图2为本发明一实施例提供的ETL任务的发布方法的流程示意图,该ETL任务的发布方法可由服务器通过软件和/或硬件的方式实现。该服务器可以为上述图1所示的数据仓库系统所涉及的用于执行ETL发布过程的服务器实现。图2所示,该方法可包括:
S201、根据待发布的ETL任务中数据源的名称,从预设的数据源模型中获取该数据源的属性信息。
其中,该数据源模型用于存储该数据源的名称和该数据源的属性信息。
该ETL任务可以为ETL处理过程中,待运行的ETL组件所对应的任务。该ETL组件可以为抽取组件、清洗组件、转换组件、或者,加载组件等任一。其中,若该待运行的ETL组件为抽取组件,则该ETL任务可以为抽取组件对应的任务,又称抽取任务;若该待运行的ETL组件为清洗或转换组件,则该ETL任务可以为该清洗或转换组件对应的任务,又称清洗或转换任务;若该待运行的ETL组件为加载组件,则该ETL任务可以为该加载组件对应的任务,又称加载任务。
不同的数据源,具有不同的属性信息,针对待运行的ETL组件,当用户选择数据源后,可将该数据源的名称,添加至该ETL组件对应的ETL任务中,使得该ETL任务中可包括:数据源的名称,而不包括数据源的属性信息。也就是说,对于待运行的ETL组件中,实际并不包括数据源的属性信息,而在接收到输入的数据源选择操作后,将选择的数据源的名称添加至该ETL组件中。即,该ETL组件中,该数据源相关的内容即为该数据源的名称,而并非数据源的属性信息。该ETL组件中,该数据源的名称例如可通过下述方式进行存储:<datasource name>hdfs</data source name>。与此同时,还可在该ETL组件的界面上显示该数据源的名称。
由于ETL任务中不包括数据源的信息,为便于ETL任务的执行,还可获取该数据源的属性信息。在该实施例中,可根据该数据源的名称,从预设的数据源模型中获取该数据源的属性信息。其中,该数据源模型可以为预设的存储模型,其可存储有该数据源的属性信息,当然,为便于属性信息的查询,该数据源模型中还可存储有该数据源的名称。该数据源模型还可称为数据源标签,该数据源模型可通过可扩展标记语言(Extensible MarkupLanguage,XML)表示。
该数据源模型中,可仅存储有该数据源的属性信息,即存储一个数据源的属性信息;也可存储有多个数据源的属性信息,即不仅可以存储该数据源的属性信息,也可存储其它数据源的属性信息。该多个数据源可以为同一类型的多个数据源,也可以为不同类型的多个数据源。若该数据源模型存储有多个数据源的属性信息,还可实现对于不同数据源的属性信息的统一管理。
通过在待发布的ETL任务中引入数据源的名称,用数据源的名称替换掉数据源的属性信息,然后用数据源模型存储替换掉的数据源的属性信息,这样当要发布ETL任务之前,可以基于该数据源的名称从数据源模型中关联到该数据源的名称对应的数据源的属性信息,然后进行ETL任务的发布。这样一来,就无需在每个ETL任务中都配置数据源的属性信息,从而解决了现有技术中因需要在每个ETL任务配置一次属性信息而导致的ETL处理过程繁琐的问题。
可选地,在获取到该数据源的属性信息后,还可在该ETL组件的界面上显示该数据源的属性信息,以呈现至用户。
如下以HDFS作为数据源,对抽取组件进行示例说明。
图3为本申请实施例提供的ETL任务的发布方法中抽取组件的界面示意图。如图3所示,在从HDFS抽取数据的过程中,可通过图3所示的HDFS抽取组件的界面中步骤名称栏中,输入从该HDFS抽取数据的步骤名称。该步骤名称例如可以为图3所示的“HDFS抽取”;还可通过图3所示的HDFS抽取组件的界面中的HDFS连接栏对应的浏览按钮,选择待抽取数据的数据源,该数据源被选择后,该HDFS连接栏的信息区,便可显示有选择的数据源的名称,如“hdfs”。与此同时,在数据源被选择后,可根据该数据源的名称,通过执行上述S201从数据源模型中获取该选择的数据源的属性信息,继而在该HDFS组件的界面中对应的属性信息区显示属性信息。
该数据源的属性信息包括:该数据源所在的互联网协议(InternetProtocol,IP)地址、该数据源对应的端口(port)、该数据源的认证方式、该数据源的认证配置文件所在的位置,以及该数据源的秘钥文件所在位置。
若数据源为HDFS,在选择该数据源,并确定该数据源的属性信息后,可在该HDFS组件的界面中HDFS集群栏如图3所示的Hadoop集群栏中显示该数据源的IP地址以及端口,如IP地址可以为图3所示的“127.0.0.1”,端口可以为图3所示的“8020”;在HDFS组件的界面中认证配置栏中显示认证配置状态,如图3所示的kerberos认证栏中的选择标识;还可在HDFS组件的界面中认证配置栏显示认证配置文件的位置,如图3所示的Krb5.conf文件位置栏中显示的“/opt/krb5.conf”;还可在HDFS组件的界面中秘钥栏显示秘钥文件的位置,如图3所示的keytab文件位置栏中显示的“/opt/hdfs.keytab”;还可在HDFS组件的界面中用户栏中显示用户信息,如图3所示的指定读取HDFS文件的用户栏中所显示的“User”。
该HDFS组件的界面中还可具有确认按钮以及取消按钮。当该HDFS组件的界面上显示该数据源的属性信息后,可由用户进行确认,并接收通过该确认按钮输入的确认操作,或者,通过取消按钮输入的取消操作。
在接收该确认操作后,便可执行后续操作,以完成ETL的发布和ETL任务的执行。当接收到该取消操作后,可返回显示ETL处理过程的上一操作对应的组件界面。
若该数据源为HDFS,则该数据源模型可以为如下<otherconnecation>所示的XML所表示的数据源标签:
上述XML所示的数据源标签中,<otherconnection>标签可用于表示数据源的模型标签,即数据源信息的大标签;<name>hdfs</name>标签可用于表示该数据源的名称;<id>1002</id>标签可用于表示该数据源的身份标识(identity,id);<type>HDFS</type>标签可用于表示数据源的类型;<attiributes>标签可用于表示该数据源的属性信息。其中,<code>标签表示该数据源的特定属性,该<code>标签下的<attiributes>标签可用于表示该数据源的特定属性的值。<extracttributes>标签表示该数据源的额外属性,即该数据源的属性信息中除了特定属性之外的另一部分属性。
当ETL组件被编辑或下发执行时,可通过解析该ETL组件的XML中的步骤(step)程序,并将转换为计算机可识别的任务,即该待发布的ETL任务,继而根据该ETL任务中的数据源的名称从该数据源模型中获取该数据源的属性信息。
S202、根据该数据源的属性信息,发布该ETL任务,以指示对该数据源的数据进行ETL处理。
在本申请的方案中,通过执行上述S201获取该数据源的属性信息后,便可发布该ETL任务。在具体的任务发布过程中,可将该数据源的属性信息,加载至ETL任务中,并将加载有该数据源的属性信息的该ETL任务发布至安装有执行该ETL任务所需的执行器的物理机上,由该物理机运行该执行器,以使得执行器执行该ETL任务。
本实施例所提供的ETL任务的发布方法中,可根据待发布的ETL任务中的数据源的名称,从预设的数据源模型中获取该数据源的属性信息,并根据该数据源的属性信息,执行该ETL任务,以对该数据源的数据进行ETL处理。该方法中,由于该数据源模型用于存储该数据源的名称和该数据源的属性信息,无需为ETL任务专门配置数据源的属性信息,只要该ETL任务中具有该数据源的名称,即可基于该数据源到的名称从该数据源模型中获取到该数据源的属性信息,用以发布ETL任务,有效简化了ETL处理流程,提高了ETL处理效率。
该方法,还将可从数据源模型中获取到的数据源的属性信息加载至ETL任务用以发布该ETL任务,实现数据源的属性信息在ETL处理过程中的实时加载。
同时,若该数据源模型存储有多个数据源的属性信息,还可实现ETL处理过程中,对于不同数据源的属性信息的统一管理。
可选的,本申请实施例还可提供另一种ETL任务的发布方法。图4为本申请实施例提供的另一种ETL任务的发布方法的流程图。图4所示,上述方法中S202根据该数据源的属性信息,发布该ETL任务之前,该方法还可包括:
S401、根据该数据源的名称,从该数据源模型中获取该数据源的身份标识。
具体地,该数据源模型还可以包括:该数据源的身份标识,即该数据源模型中除了存储该数据源的属性信息以及该数据源的名称之外,还存储有该数据源的身份标识。因此,该方法中,可根据该数据源的名称,从该数据源模型中获取该数据源的身份标识。
S402、根据该数据源的身份标识,从预设的数据源管理系统库中查找该数据源的属性信息,该数据源管理系统中存储有至少一个数据源的属性信息。
该数据源管理系统还可以称为数据源系统或者数据管理模块,其可存储有数据源管理系统所管理的至少一个数据源的信息,其中,包括:至少一个数据源的属性信息。在该数据源管理系统中,每个数据源具有各自的身份标识,该身份标识与该每个数据源的数据源模型中身份标识一致。因此,该方法中,可基于该数据源的身份标识,从存储有至少一个数据源的属性信息的数据源管理系统中,查找与该数据源的身份标识对应的数据源的属性信息。
该数据源管理系统所存储的每个数据源的属性信息属于实时属性信息。在一种方式中,当数据源管理系统所管理的数据源发生变化,如增加数据源或减少数据源,可在数据源管理系统中添加该增加的数据源的属性信息,或者,从数据源管理系统中删除该减少的数据源的属性信息,实现了数据源管理系统中的数据源的属性信息的更新。另一方面,当数据源管理系统所管理的数据源的属性信息发生变化,还可对数据源管理系统中该属性信息发生变化的数据源的属性信息进行更新。
S403、比较从该数据源模型中获取的该数据源的属性信息,以及,从该数据源管理系统中查找的该数据源的属性信息。
通过比较从该数据源模型中获取的该数据源的属性信息,和,从数据源管理系统中查找的该数据源的属性信息,确定从该数据源模型中获取的该数据源的属性信息,是否为该数据源的最新属性信息,继而根据该数据源的最新属性信息,发布该ETL任务。其中,该数据源的最新属性信息即为数据源管理系统中该数据源的属性信息。
上述比较结果可以为:从该数据源模型中获取的该数据源的属性信息,与从该数据源管理系统中查找的该数据源的属性信息相同;或者,从该数据源模型中获取的该数据源的属性信息,与从该数据源管理系统中查找的该数据源的属性信息不相同。
针对不同的比较结果,发布ETL任务可通过下述两种实现方式实现。
在一种实现方式中,上述方法中S202中根据该数据源的属性信息,执行该ETL任务可包括:
S404a、若从该数据源模型中获取的该数据源的属性信息,与从该数据源管理系统中查找的该数据源的属性信息相同,则根据该数据源的属性信息,发布该ETL任务。
在该实现方式中,可根据从数据源模型中获取的该数据源的属性信息,发布该ETL任务,也可根据从该数据源管理系统中查找到的该数据源的属性信息,发布该ETL任务。
在另一种实现方式中,上述方法中S202中根据该数据源的属性信息,执行该ETL任务可包括:
S405b、若从该数据源模型中获取的该数据源的属性信息,与从该数据源管理系统中查找的该数据源的属性信息不相同,则根据从该数据源管理系统中获取的该数据源的属性信息,对该数据源模型中存储的该数据源的属性信息进行更新。
对该数据源模型中存储的该数据源的属性信息进行更新,可使得数据源管理系统中该数据源的属性信息与该数据源模型中该数据源的属性信息,保持一致,实现了数据源模型中数据源的属性信息的同步更新。
如下以转换组件对应的转换任务为例进行说明:
当转换组件被编辑或被下发时,可对转换组件中的XML进行解析,将解析的XML中步骤(step)转化为可识别程序对象即待发布的ETL任务。根据该可识别程序对象中的数据源名称<data source name>,从数据源模型<otherconnection>中查找该数据源的属性信息,以及该数据源的id。根据该数据源的id从数据源管理系统中获取该数据源的属性信息,然后比较从数据源模型获取的数据源的属性信息,和从数据源管理系统获取的该数据源的属性信息。若信息相同,则将该数据源的属性信息加载至该可识别程序对象中,用以发布该ETL任务。若信息不一致,则将从数据源模型中的数据源的属性信息,替换为从数据源管理系统获取的该数据源的属性信息,实现了数据源模型中属性信息的同步更新,继而将该数据源的属性信息加载至该可识别程序对象中,用以发布该ETL任务。
S406、根据该数据源的属性信息,发布该ETL任务。
在该另一种实现方式中,可在对该数据源模型中该数据源的属性信息进行更新后,根据从数据源模型中更新后的该数据源的属性信息,发布该ETL任务,也可直接根据从该数据源管理系统中查找到的该数据源的属性信息,发布该ETL任务。
可选的,在上述方法中S402中根据该数据源的身份标识,从预设的数据源管理系统库中查找该数据源的属性信息之前,该方法可包括:
确定该数据源管理系统是否出现异常。
若该数据源管理系统出现异常,则通过执行上述S201根据该数据源的名称从数据源模型中获取该数据源的属性信息。
反之,若该数据源管理系统未出现异常,便可通过执行上述S402从预设的数据源管理系统库中查找该数据源的属性信息。
需要指出的是,上述该数据源管理系统出现异常,可指的是,该数据源管理系统无法进行接入访问。
本申请的方案中,可通过比较从该数据源模型所获取的该数据源的属性信息与从数据源管理系统获取的该数据源的属性信息,保证执行ETL任务所采用的数据源的属性信息即为该数据源的最新属性信息,保证了ETL任务的执行准确度。
该方法中,在处理过程中,可从数据源模型中获取到的数据源的属性信息,或者,从数据源管理系统中获取的数据源的属性信息加载至ETL任务用以根据该数据源的属性信息发布该ETL任务,实现数据源的属性信息在ETL处理过程中的实时加载。
在上述各实施例所提供的ETL任务的发布方法的基础上,本申请实施例还可提供一种ETL任务的发布方法,用以对ETL任务的发布操作进行实例说明。图5为本申请实施例提供的又一种ETL任务的执行方法的流程图。如图5所示,如上所示的S202中根据该数据源的属性信息,发布该ETL任务可包括:
S501、获取至少一个物理机的物理资源信息和该物理机上的各执行器的任务执行信息。
该至少一个物理机可以为物理机集群中的安装有ETL任务的执行器的物理机。物理机集群可以为执行器的物理机集群,其中,每个物理机上可安装有至少一个执行器。不同的物理机上可安装有不同的执行器。例如,若该物理机集群中,包括:物理机1、物理机2和物理机3。物理机1可安装有执行器1、执行器2及执行器3等;物理机2可安装有执行器4、执行器5及执行器6等;物理机3上可安装有执行器7、执行器8和执行器9等。
其中,物理资源信息可以但不限于包括:处理资源的信息和/或存储资源的信息。该处理资源可以为中央处理器(CPU)的处理资源,该存储资源可以为内存资源。
该方法中,可先与至少一个物理机中每个物理机建立连接,针对每个物理机,在连接建立之后,向该物理机发送远程执行命令,并接收该物理机针对该远程执行命令返回的该物理机的物理资源信息和该物理机上的执行器的任务执行信息,采用远程指令命令的方式,可使得获取到的信息实时性更高,准确度也更高。需要指出的是,还可通过读取记录文件的方式,从该物理机获取该物理机的物理资源信息和该物理机上的执行器的任务执行信息。
具体实现中,可通过Java安全通道(Java Secure Channel,jsch)包建立与每个物理机的主机之间的连接。jsch包的指令可以为如下所示:
JSchjsch=new JSch();
Session session=jsch.getSession(username,host,22);
Session.setPassword(userPassword);
Java.util.Propertiesconfig=new java.utilProperties();
Config.put("StirctHostKeyCheck","no");
Session setConfig(config);
Session.connect();
如上所提及的远程执行命令可以为下述所示:
获取物理资源信息和执行器的任务执行信息
在通过上述远程执行命令获取到每个物理机返回的信息之后,还可将返回的信息进行解析,以获取该每个物理机的物理资源信息和该每个物理机上执行器的任务执行信息。
S502、根据该物理机的物理资源信息和该物理机上的各执行器的任务执行信息,从至少一个该物理机上的执行器中确定目标执行器。
在实施步骤S502时,可先根据每个物理机上各执行器的任务执行信息,确定每个物理机上是否存在空闲执行器,并根据不同的确定结果,基于不同的确定结果,采用确定结果对应的执行器选取规则,从至少一个该物理机上的执行器中选择目标执行器。空闲执行器可以为没有执行任务的执行器。
S503、根据该数据源的属性信息,向该目标执行器所在的物理机发布该ETL任务。
具体实现,可通过向该目标执行器所在的物理机发送包括该数据源的属性信息的ETL任务执行指令,发布该ETL任务。该执行指令可用于指示该物理机将ETL任务发送给目标执行器,以使得该目标执行器根据该数据源的属性信息,执行该ETL任务。
本申请实施例所提供的ETL任务的发布方法,可根据获取到的至少一个物理机的物理资源信息和该物理机上的各执行器的任务执行信息,确定目标执行器用以发布ETL任务,可在物理资源不扩充的情况下,提高资源的利用率,提升任务的运行效率。
可选地,本申请中的任务执行信息可以包括但不限于:执行任务数。则在上述图5所示的ETL任务的发布方法的基础上,本申请实施例还可提供下述两个实现方式,对上述方案中确定目标执行器的实现过程进行实例说明。图6为本申请实施例提供的再一种ETL任务的发布方法的流程图。如图6所示,上述方法中S502中根据该物理机的物理资源信息和该物理机上的各执行器的任务执行信息,从至少一个该物理机上的执行器中确定目标执行器可以包括:
S601、根据该物理机上的各执行器的执行任务数,确定至少一个该物理机上是否存在空闲执行器。
若该执行任务数为非0,则该任务执行信息除了包括:执行任务数之外,还可包括:执行任务时间等信息。其中,当执行器为空闲执行器时,该空闲执行器的执行任务数为0。
S602、若存在一个空闲执行器,则将该一个空闲执行器确定为该目标执行器。
S603、若存在多个该空闲执行器,且,多个该空闲执行器属于不同的物理机,则根据该空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为该目标执行器。
该方法中,若存在多个空闲执行器,则可根据该空闲执行器所在的物理机的物理资源信息,确定空闲执行器所在物理机的空闲率,继而从多个空闲中选择空闲率最大的物理机上的空闲执行器作为该目标执行器。其中,每一物理机的空闲率为基于该物理机的物理资源信息确定出的。
可选的,在一种实例中,如上所示的物理资源信息可包括:空闲物理资源,则此时空闲率可以为资源空闲率,其可以为物理机的空闲物理资源在预设的总物理资源中的占比。
在另一种实例中,如上所示的物理资源信息可包括:空闲物理资源和总物理资源,则空闲率可以为物理机的空闲物理资源在总物理资源中的占比。
在又一种实例中,如上所示的物理资源信息可包括:已使用物理资源,则可确定该已使用物理资源以及预设的总物理资源,确定空闲物理资源,并将该空闲物理资源与该总物理资源比值确定为物理机的空闲率。
在再一种实例中,如上所示的物理资源信息可包括:已使用物理资源,则可根据该已使用物理资源,以及预设的总物理资源,确定空闲物理资源,并将确定出的空闲物理资源在该预设的总物理资源中的占比,确定为物理机的空闲率。
在再一种实例中,如上所示的物理资源信息可包括:已使用物理资源和总物理资源,则可根据该已使用物理资源,以及该总物理资源,确定空闲物理资源,并将确定出的空闲物理资源在该总物理资源中的占比,确定为物理机的空闲率。
上述实例仅为物理资源信息以及确定物理机的空闲率的一些可能的实施方式,本申请不对此限制。
可选的,如上所示的S603中根据该空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为该目标执行器,包括:
根据该空闲执行器所在的物理机的物理资源信息,生成执行器推荐列表,该执行器推荐列表包括:至少一个执行器的信息;
根据该执行器推荐列表,确定该空闲率最大的物理机上的空闲执行器为所述目标执行器。
其中,该执行器列表中的该至少一个执行器可以为该空闲执行器,该执行器推荐列表中执行器的信息的顺序是对该至少一个执行器所在物理机的空闲率进行排列得到的。
具体实现中,可根据该空闲执行器所在的物理机的物理资源信息,确定该至少一个执行器所在物理机的空闲率,继而根据该至少一个执行器所在物理机的空闲率,对该至少一个执行器进行排序,生成该执行器推荐列表。该执行器推荐列表中执行器的信息,可按照空闲率从大到小的顺序进行排列,也可按照空闲率从小到大的顺序进行排列。
若该执行器推荐列表中执行器的信息,按照空闲率从大到小的顺序进行排列,则该执行器推荐列表中最前端的执行器为空闲率最大的物理机上的空闲执行器,因而可确定该执行器推荐列表中最前端的执行器为该目标执行器。
若该执行器推荐列表中执行器的信息,按照空闲率从小到大的顺序进行排列,则该执行器推荐列表中最末端的执行器为空闲率最大的物理机上的空闲执行器,因而可确定该执行器推荐列表中最末端的执行器为该目标执行器。
若空闲率最大的物理机上具有多个空闲执行器,则可从空闲率最大的物理机上随机选择一个或多个执行器作为该目标执行器;或者,也可从空闲率最大的物理机上,采用其他的选择规则,选择一个或多个执行器作为该目标执行器。
该方法中,可在确定至少一个物理机中存在空闲执行器的情况下,从空闲执行器中确定空闲率最大的物理机上的空闲执行器为该目标执行器,用以进行ETL任务的发布,提高了资源利用率,提高了任务的运行效率。
并且,上述方法中,根据该空闲执行器所在的物理机的物理资源信息,生成该执行器推荐列表,并根据该执行器推荐列表,确定该空闲率最大的物理机上的空闲执行器为该目标执行器,由于该执行器推荐列表中执行器的信息是对该至少一个执行器所在物理机的空闲率进行排列得到的,因而,采用该方式可快速准确地查找目标执行器,可有效提升ETL任务的发布效率。
可选的,若执行上述S601确定不存在空闲执行器,则该方法还可包括:
S604、若不存在空闲执行器,根据至少一个所述物理机的物理资源信息,确定空闲物理机。
该方法中,可根据每个物理机的物理资源信息,确定该每个物理机的空闲率,并根据至少一个物理机的空闲率,从该至少一个物理机中确定该空闲物理机。该空闲物理机可以为该至少一个物理机中空闲率大于或等于预设阈值的物理机。
S605、根据该空闲物理机上的各执行器的执行任务数,确定空闲物理机上执行任务数最小的执行器为该目标执行器。
可选的,如上所示的S605中根据该空闲物理机上的各执行器的执行任务数,确定该空闲物理机上执行任务数最小的执行器为该目标执行器可包括:
根据该空闲物理机上的各执行器的执行任务数,生成该执行器推荐列表;
根据该执行器推荐列表,确定该空闲物理机上执行任务数最小的执行器为该目标执行器。
其中,该执行器推荐列表包括:至少一个执行器的信息,该至少一个执行器为该空闲物理机上的执行器,该执行器推荐列表中执行器的信息的顺序是对该至少一个执行器的执行任务数进行排列得到的。
在实现中,可根据该空闲物理机上的各个执行器的任务执行信息,确定该各个执行器的执行任务数,并根据执行任务数对各个执行器进行排序,生成该执行器推荐列表。
该执行器推荐列表中该至少一个执行器的信息,可按照执行任务数从大到小的顺序进行排列,也可按照执行任务数从小到大的顺序进行排列。
若该执行器推荐列表中执行器的信息,按照执行任务数从大到小的顺序进行排列,则该执行器推荐列表中最末端的执行器为执行任务数最小的执行器,因而可确定该执行器推荐列表中最末端的执行器为该目标执行器。
若该执行器推荐列表中执行器的信息,按照执行任务数从小到大的顺序进行排列,则该执行器推荐列表中最前端的执行器为执行任务数最小的执行器,因而可确定该执行器推荐列表中最前端的执行器为该目标执行器。
若执行任务数最小的执行器具有多个执行器,则可从执行任务数最小的执行器中随机选择一个或多个执行器作为该目标执行器;或者,也可从执行任务数最小的执行器中,采用其他的选择规则,选择一个或多个执行器作为该目标执行器。
该方法中,可在确定至少一个物理机中不存在空闲执行器的情况下,确定空闲物理机,并确定空闲物理机上执行任务数最小的执行器作为该目标执行器,用以进行ETL任务的发布,提高了资源利用率,提高了任务的运行效率。
并且,上述方法中,根据该空闲物理机上的各执行器的执行任务数,生成该执行器推荐列表,并根据该执行器推荐列表,确定该空闲物理机上执行任务数最小的执行器作为该目标执行器,由于该执行器推荐列表中该至少一个执行器的信息按照该至少一个执行器所在物理机的空闲率的顺序进行排列,因而,采用该方式可快速准确地确定目标执行器,可有效提升ETL任务的发布效率。
下述对用以执行的本申请所提供的ETL任务的发布方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图7为本申请实施例提供的一种ETL任务的发布装置的示意图,如图7所示,该ETL任务的发布装置700可包括:
获取模块701,用于用于根据待发布的ETL任务中数据源的名称,从预设的数据源模型中获取该数据源的属性信息。
发布模块702,用于根据该数据源的属性信息,发布该ETL任务,以指示对该数据源的数据进行ETL处理。
可选的,如上所示的数据源模型还包括:该数据源的身份标识。
获取模块701,还用于根据该数据源的名称,从该数据源模型中获取该数据源的身份标识;根据该数据源的身份标识,从预设的数据源管理系统中查找该数据源的属性信息,该数据源管理系统中存储有至少一个数据源的属性信息。
图8为本申请实施例提供的另一种ETL任务的发布装置的示意图,如图8所示,该ETL任务的发布装置700还包括:
比较模块703,用于比较从该数据源模型中获取的该数据源的属性信息,以及,从该数据源管理系统中查找的该数据源的属性信息。
更新模块704,用于若从该数据源模型中获取的该数据源的属性信息,与从该数据源管理系统中查找的该数据源的属性信息,不相同,则根据从该数据源管理系统中获取的该数据源的属性信息,对该数据源模型中存储的该数据源的属性信息进行更新。
可选的,发布模块702,具体用于获取至少一个物理机的物理资源信息;和至少一个该物理机上的各执行器的任务执行信息;根据该物理机的物理资源信息和该物理机上的各执行器的任务执行信息,从至少一个该物理机上的执行器中确定目标执行器;根据该数据源的属性信息,向该目标执行器所在的物理机发布该ETL任务。
可选的,该任务执行信息可包括:执行任务数。发布模块702,具体用于根据该物理机上的各执行器的执行任务数,确定至少一个该物理机上是否存在空闲执行器;若存在一个空闲执行器,则确定一个空闲执行器为该目标执行器;若存在多个该空闲执行器,且,多个该空闲执行器属于不同的物理机,则根据该空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为该目标执行器。
其中,每一物理机的空闲率为基于该物理机的物理资源信息确定出的。
可选的,发布模块702,具体用于根据该空闲执行器所在的物理机的物理资源信息,生成该执行器推荐列表,该执行器推荐列表包括:至少一个执行器的信息,该执行器推荐列表中执行器的信息的顺序是对该至少一个执行器所在物理机的空闲率进行排列得到的;根据该执行器推荐列表,确定该空闲率最大的物理机上的空闲执行器作为该目标执行器。
可选的,发布模块702,还用于若不存在空闲执行器,根据至少一个物理机的物理资源信息,确定空闲物理机;根据空闲物理机上的各执行器的执行任务数,确定空闲物理机上执行任务数最小的执行器作为该目标执行器。该空闲物理机为空闲率大于或等于预设阈值的物理机。
可选的,发布模块702,具体用于根据该空闲物理机上的各执行器的执行任务数,生成该执行器推荐列表,该执行器推荐列表包括:至少一个执行器的信息,该执行器推荐列表中执行器的信息的顺序是对该至少一个执行器的执行任务数进行排列得到的;根据该执行器推荐列表,确定空闲物理机上执行任务数最小的执行器作为该目标执行器。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的又一种ETL任务的发布装置的示意图,该装置可以集成于设备或者设备的芯片,该设备可以是具备ETL任务执行功能的计算设备或服务器。
该ETL任务的发布装置900包括:存储器901、处理器902。存储器901和处理器902通过总线连接。
存储器901用于存储程序,处理器902调用存储器901存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种提取转换加载ETL任务的发布方法,其特征在于,
根据待发布的ETL任务中数据源的名称,从预设的数据源模型中获取所述数据源的属性信息;
根据所述数据源的属性信息,发布所述ETL任务,以指示对所述数据源的数据进行ETL处理。
2.根据权利要求1所述的方法,其特征在于,所述数据源模型还包括:所述数据源的身份标识;所述根据所述数据源的属性信息,发布所述ETL任务之前,所述方法还包括:
根据所述数据源的名称,从所述数据源模型中获取所述数据源的身份标识;
根据所述数据源的身份标识,从预设的数据源管理系统中查找所述数据源的属性信息,所述数据源管理系统中存储有至少一个数据源的属性信息;
比较从所述数据源模型中获取的所述数据源的属性信息,以及,从所述数据源管理系统中查找的所述数据源的属性信息;
若从所述数据源模型中获取的所述数据源的属性信息,与从所述数据源管理系统中查找的所述数据源的属性信息,不相同,则根据从所述数据源管理系统中获取的所述数据源的属性信息,对所述数据源模型中存储的所述数据源的属性信息进行更新。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述数据源的属性信息,发布所述ETL任务,包括:
获取至少一个物理机的物理资源信息和至少一个所述物理机上各执行器的任务执行信息;
根据所述物理机的物理资源信息和所述物理机上的各执行器的任务执行信息,从至少一个所述物理机上的执行器中确定目标执行器;
根据所述数据源的属性信息,向所述目标执行器所在的物理机发布所述ETL任务,由所述目标执行器执行所述ETL任务。
4.根据权利要求3所述的方法,其特征在于,所述任务执行信息包括执行任务数;则
所述根据所述物理机的物理资源信息和所述物理机上的各执行器的任务执行信息,从至少一个所述物理机上的执行器中确定目标执行器,包括:
根据所述物理机上的各执行器的执行任务数,确定至少一个所述物理机上是否存在空闲执行器;
若存在一个所述空闲执行器,则将所述空闲执行器作为所述目标执行器;
若存在多个所述空闲执行器,且,多个所述空闲执行器属于不同的物理机,则根据所述空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为所述目标执行器;
其中,每一物理机的空闲率为基于该物理机的物理资源信息确定出的。
5.根据权利要求4所述的方法,其特征在于,所述根据所述空闲执行器所在的物理机的物理资源信息,确定空闲率最大的物理机上的空闲执行器为所述目标执行器,包括:
根据所述空闲执行器所在的物理机的物理资源信息,生成所述执行器推荐列表,所述执行器推荐列表包括:至少一个执行器的信息,所述执行器推荐列表中执行器的信息的顺序是对所述至少一个执行器所在物理机的空闲率进行排列得到的;
根据所述执行器推荐列表,确定所述空闲率最大的物理机上的空闲执行器为所述目标执行器。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若不存在空闲执行器,则根据至少一个所述物理机的物理资源信息,确定空闲物理机;所述空闲物理机为空闲率大于或等于预设阈值的物理机;
根据所述空闲物理机上的各执行器的执行任务数,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器。
7.根据权利要求6所述的方法,其特征在于,所述根据所述空闲物理机上的各执行器的执行任务数,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器,包括:
根据所述空闲物理机上的各执行器的执行任务数,生成所述执行器推荐列表,所述执行器推荐列表包括:至少一个执行器的信息,所述执行器推荐列表中执行器的信息的顺序是对所述至少一个执行器的执行任务数进行排列得到的;
根据所述执行器推荐列表,确定所述空闲物理机上执行任务数最小的执行器为所述目标执行器。
8.一种提取转换加载ETL任务的发布装置,其特征在于,包括:
获取模块,用于根据待发布的ETL任务中数据源的名称,从预设的数据源模型中获取所述数据源的属性信息;所述数据源模型包括:所述数据源的名称和所述数据源的属性信息;
发布模块,用于根据所述数据源的属性信息,发布所述ETL任务,以指示对所述数据源的数据进行ETL处理。
9.一种提取转换加载ETL任务的发布设备,其特征在于,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-7任一项所述的ETL任务的发布方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述权利要求1-7任一项所述的ETL任务的发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910623402.XA CN110471968A (zh) | 2019-07-11 | 2019-07-11 | Etl任务的发布方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910623402.XA CN110471968A (zh) | 2019-07-11 | 2019-07-11 | Etl任务的发布方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471968A true CN110471968A (zh) | 2019-11-19 |
Family
ID=68507232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910623402.XA Pending CN110471968A (zh) | 2019-07-11 | 2019-07-11 | Etl任务的发布方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471968A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111080243A (zh) * | 2019-12-05 | 2020-04-28 | 北京百度网讯科技有限公司 | 业务处理的方法、装置、系统、电子设备及存储介质 |
CN116775737A (zh) * | 2023-06-21 | 2023-09-19 | 上海腾道信息技术有限公司 | 一种自动生成etl配置的方法以及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364240A (zh) * | 2008-10-14 | 2009-02-11 | 杭州华三通信技术有限公司 | 元数据管理方法及装置 |
US20090313338A1 (en) * | 2006-03-18 | 2009-12-17 | Peter Lankford | JMS Provider With Plug-Able Business Logic |
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN104933160A (zh) * | 2015-06-26 | 2015-09-23 | 河海大学 | 一种面向安全监测业务分析的etl框架设计方法 |
CN108512691A (zh) * | 2018-02-07 | 2018-09-07 | 复旦大学 | 基于Hadoop的云自动预警运维监控系统 |
CN108833592A (zh) * | 2018-07-13 | 2018-11-16 | 无锡华云数据技术服务有限公司 | 云主机调度器优化方法、装置、设备及存储介质 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
CN109299177A (zh) * | 2018-09-30 | 2019-02-01 | 江苏满运软件科技有限公司 | 数据抽取方法、装置、存储介质及电子设备 |
CN109669976A (zh) * | 2018-11-22 | 2019-04-23 | 武汉达梦数据库有限公司 | 基于etl的数据服务方法及设备 |
-
2019
- 2019-07-11 CN CN201910623402.XA patent/CN110471968A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090313338A1 (en) * | 2006-03-18 | 2009-12-17 | Peter Lankford | JMS Provider With Plug-Able Business Logic |
CN101364240A (zh) * | 2008-10-14 | 2009-02-11 | 杭州华三通信技术有限公司 | 元数据管理方法及装置 |
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN104933160A (zh) * | 2015-06-26 | 2015-09-23 | 河海大学 | 一种面向安全监测业务分析的etl框架设计方法 |
CN108512691A (zh) * | 2018-02-07 | 2018-09-07 | 复旦大学 | 基于Hadoop的云自动预警运维监控系统 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
CN108833592A (zh) * | 2018-07-13 | 2018-11-16 | 无锡华云数据技术服务有限公司 | 云主机调度器优化方法、装置、设备及存储介质 |
CN109299177A (zh) * | 2018-09-30 | 2019-02-01 | 江苏满运软件科技有限公司 | 数据抽取方法、装置、存储介质及电子设备 |
CN109669976A (zh) * | 2018-11-22 | 2019-04-23 | 武汉达梦数据库有限公司 | 基于etl的数据服务方法及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111080243A (zh) * | 2019-12-05 | 2020-04-28 | 北京百度网讯科技有限公司 | 业务处理的方法、装置、系统、电子设备及存储介质 |
CN116775737A (zh) * | 2023-06-21 | 2023-09-19 | 上海腾道信息技术有限公司 | 一种自动生成etl配置的方法以及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11188397B2 (en) | Mobile application for an information technology (IT) and security operations application | |
US11615087B2 (en) | Search time estimate in a data intake and query system | |
US11593377B2 (en) | Assigning processing tasks in a data intake and query system | |
US11321321B2 (en) | Record expansion and reduction based on a processing task in a data intake and query system | |
US11599541B2 (en) | Determining records generated by a processing task of a query | |
US11580107B2 (en) | Bucket data distribution for exporting data to worker nodes | |
US11023463B2 (en) | Converting and modifying a subquery for an external data system | |
US10956415B2 (en) | Generating a subquery for an external data system using a configuration file | |
US11663227B2 (en) | Generating a subquery for a distinct data intake and query system | |
US11126632B2 (en) | Subquery generation based on search configuration data from an external data system | |
US11880558B1 (en) | Interface layout profiles including interface actions in an information technology and security operations application | |
US11614923B2 (en) | Dual textual/graphical programming interfaces for streaming data processing pipelines | |
US20200050607A1 (en) | Reassigning processing tasks to an external storage system | |
US20190138641A1 (en) | Subquery generation based on a data ingest estimate of an external data system | |
US20190138638A1 (en) | Task distribution in an execution node of a distributed execution environment | |
US20190147092A1 (en) | Distributing partial results to worker nodes from an external data system | |
WO2020027867A1 (en) | Generating a subquery for a distinct data intake and query system | |
CN106649630A (zh) | 数据查询方法及装置 | |
US9276820B2 (en) | Obtaining and displaying network topology information | |
US11573971B1 (en) | Search and data analysis collaboration system | |
US20210150039A1 (en) | Multi-Party Encryption Cube Processing Apparatuses, Methods and Systems | |
US11886844B1 (en) | Updating reusable custom functions across playbooks | |
CN108762949A (zh) | 集中调度方法、系统、计算机设备和存储介质 | |
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
CN110096521A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191119 |