CN116775685A - 一种数据处理方法、任务调度方法、装置和存储介质 - Google Patents
一种数据处理方法、任务调度方法、装置和存储介质 Download PDFInfo
- Publication number
- CN116775685A CN116775685A CN202310753836.8A CN202310753836A CN116775685A CN 116775685 A CN116775685 A CN 116775685A CN 202310753836 A CN202310753836 A CN 202310753836A CN 116775685 A CN116775685 A CN 116775685A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- scheduling
- user
- sql
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 title claims description 51
- 238000012545 processing Methods 0.000 claims abstract description 87
- 230000010354 integration Effects 0.000 claims description 50
- 238000011161 development Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 25
- 238000004458 analytical method Methods 0.000 description 14
- 230000004044 response Effects 0.000 description 13
- 230000001960 triggered effect Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012098 association analyses Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据处理方法、任务调度方法、装置和存储介质,涉及数据处理领域。根据本发明的实施例,在获取到SQL关联查询语句后,根据SQL关联查询语句中的数据源信息获取待处理数据表;根据所述待处理数据表的数据表信息,将所述SQL关联查询语句转换为可执行SQL查询语句,执行所述可执行SQL查询语句得到查询结果,通过对用户输入的符合预先规范的SQL关联查询语句进行转换,得到执行SQL查询语句,利用SQL语言就可以实时将位于不同数据源中的数据融合在一起。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据处理方法、任务调度方法、装置和存储介质。
背景技术
随着大数据时代的到来,各企业开始通过大数据平台,对生产及运营过程中产生的数据进行统一的存储管理与分析处理。同一企业在存储数据时,可以根据需求将数据存储在不同的数据源中,但对数据进行分析时要将存储在不同数据源中的数据,融合到一起进行查询分析。一般可以使用ETL工具将不同种数据源的数据同步到某种数据仓库内,在数据仓库内进行分析,但这种方式需要预先同步数据,不仅流程复杂耗时长,且同步完成的数据已经成为历史数据,无法做到实时数据的计算分析。
发明内容
本发明提供了一种数据处理方法、任务调度方法、装置和存储介质,以解决相关技术中的不足。
根据本发明实施例的第一方面,提供了一种数据处理方法,应用于大数据平台,所述大数据平台包含至少两个不同的数据源;所述方法包括:
展示数据处理任务页面,响应于用户在所述数据处理任务页面上的输入操作获取SQL关联查询语句,所述SQL关联查询语句包括多个第一待处理数据表的数据源信息,其中,所述多个第一待处理数据表中的至少两个第一待处理数据表来自不同数据源;
根据所述数据源信息获取第二待处理数据表;
将所述SQL关联查询语句中第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,得到可执行SQL查询语句;
执行所述可执行SQL查询语句得到查询结果。
在一些实施中,所述数据处理方法基于PySpark框架实现。
在一些实施中,在得到查询结果之后,所述方法还包括:
基于用户的输入操作,确定对所述查询结果进行处理的处理条件;
基于所述处理条件对所述查询结果进行处理得到处理结果;
在所述查询结果中增加一列,并在该列中显示处理结果。
在一些实施中,在得到查询结果之后,所述方法还包括:
基于用户的配置操作,确定存储所述查询结果的目标数据库,以及存储所述查询结果的数据表名;
若所述目标数据库中不包括所述数据表名对应的数据表,则创建所述数据表名对应的数据表;
若所述目标数据库中包括所述数据表名对应的数据表,则根据用户的选择操作确定输出模式,并以所述输出模式将所述查询结果写入到所述目标数据库的数据表中。
根据本发明实施例的第二方面,提供了一种任务调度方法,应用于大数据平台,所述方法包括:
展示任务调度页面,基于用户在所述任务调度页面上的输入操作,创建调度任务;
基于用户的选择操作从预先创建的多个候选数据任务中确定所述调度任务的多个目标数据任务,所述候选数据任务包括数据处理任务,所述数据处理任务利用上述任一项所述的数据处理方法实现;
在所述任务调度页面上显示各目标数据任务的图标;
基于用户对各图标的移动操作,确定所述调度任务中各目标数据任务的执行顺序;
根据所述执行顺序执行所述调度任务中的各目标数据任务。
在一些实施中,所述候选数据任务还包括数据集成任务;所述方法还包括:
基于用户在数据集成页面上的操作信息,确定数据集成任务名称,以及数据来源信息和数据去向信息;
根据所述数据来源信息和所述数据去向信息,创建与所述数据集成任务名称对应的数据集成任务。
在一些实施中,所述方法还包括:
基于用户对所述图标的选择操作,展示所述图标对应的目标数据任务的开发页面;
响应于检测到用户在所述开发页面上的修改操作,保存修改后的目标数据任务。
在一些实施中,所述输入操作包括调度任务的首次运行时间;
所述根据所述执行顺序执行所述调度任务中的各目标数据任务,包括:
响应于当前时间到达所述调度任务的首次运行时间,则根据所述执行顺序执行所述调度任务中的各目标数据任务,并获取每个目标数据任务的运行状态;
若所述运行状态为错误状态,则停止执行所述调度任务并返回所述调度任务的状态为错误状态;
若以所述各目标数据任务的执行顺序执行完所有的目标数据任务,则返回所述调度任务的状态为已完成状态。
在一些实施中,所述方法还包括:
在调度任务模板页面中,基于用户的选择操作展示对应的调度任务模板;
获取用户对所述调度任务模板的配置信息;
基于所述调度任务模板生成与所述配置信息相匹配的调度任务。
根据本发明实施例的第三方面,提供了一种数据处理装置,应用于大数据平台,所述大数据平台包含至少两个不同的数据源;所述装置包括:
获取单元,用于展示数据处理任务页面,响应于用户在所述数据处理任务页面上的输入操作获取SQL关联查询语句,所述SQL关联查询语句包括多个第一待处理数据表的数据源信息,其中,所述多个第一待处理数据表中的至少两个第一待处理数据表来自不同数据源;
转换单元,用于根据所述数据源信息获取第二待处理数据表,将所述SQL关联查询语句中第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,得到可执行SQL查询语句;
执行单元,用于执行所述可执行SQL查询语句得到查询结果。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现上述任一所述的方法。
根据上述实施例可知,本发明在获取到SQL关联查询语句后,根据SQL关联查询语句中的数据源信息获取待处理数据表;根据所述待处理数据表的数据表信息,将所述SQL关联查询语句转换为可执行SQL查询语句,执行所述可执行SQL查询语句得到查询结果,通过对用户输入的符合预先规范的SQL关联查询语句进行转换,得到执行SQL查询语句,利用SQL语言就可以实时将位于不同数据源中的数据融合在一起。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本发明实施例示出的一种数据处理方法的流程图。
图2是根据本发明实施例示出的数据处理任务页面的示意图。
图3是根据本发明实施例示出的数据处理任务的操作流程示意图。
图4是根据本发明实施例示出的增加计算列页面的示意图。
图5是根据本发明实施例示出的在查询结果中新增列的示意图。
图6是根据本发明实施例示出的输出到库页面的示意图。
图7是根据本发明实施例示出的任务调度方法的流程图。
图8是根据本发明实施例示出的任务调度顺序的示意图。
图9A是根据本发明实施例示出的第一张数据集成页面的示意图。
图9B是根据本发明实施例示出的第二张数据集成页面的示意图。
图9C是根据本发明实施例示出的第三张数据集成页面的示意图。
图10A是根据本发明实施例示出的任务调度页面的示意图。
图10B是根据本发明实施例示出的数据集成任务列表的示意图。
图10C是根据本发明实施例示出的数据处理任务列表的示意图。
图11是根据本发明实施例示出的运行顺序的示意图。
图12是根据本发明实施例示出的引用模板过程的示意图。
图13是根据本发明实施例示出的数据处理装置的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
不同数据源中的数据,可以以不同形式存储、且依赖于不同的数据库管理系统,但在一些场景中需要实现跨数据源查询,即将不同数据源中的数据集中在一起,以便于进行分析。跨数据源查询存在一些技术难点,主要包括以下几个方面:
数据源的异构性:不同的数据源有不同的存储结构和查询语法,需要进行数据的转换和语法的转换。
数据安全性:在跨数据源查询过程中,需要保证数据的安全性和隐私性,需要对数据进行权限验证和数据加密等操作。
性能问题:跨数据源查询需要在不同的数据源之间进行数据传输和通信,可能会影响查询性能。
因此,为了将不同数据源中的数据集中在一起进行分析,通常可以使用ETL工具将不同种数据源的数据同步到某种数据仓库内,在数据仓库内进行分析,但这种方式需要预先同步数据,同步流程复杂且耗时长,另外同步完的数据已经成为历史数据,无法做到实时数据的计算分析。
鉴于此,本发明提供了一种数据处理方法,该方法可以基于PySpark框架将不同数据源中的数据集中在一起,也即是在进行数据处理任务时,若当前数据分析涉及到不同数据源中的数据,则可以利用该方法将不同数据源中所需要的数据进行融合,简称为跨源融合。
本发明可以应用于大数据平台,通过数据源中数据库的IP、端口、数据库名称和表名等信息,将数据源添加到所述大数据平台,使大数据平台可以包含至少两个不同的数据源。
下述实施例将结合附图对本发明进行说明。
图1是根据本发明实施例示出的一种数据处理方法的流程图,如图1所示,本方法包括以下步骤101至步骤104。
在步骤101中,展示数据处理任务页面,响应于用户在所述数据处理任务页面上的输入操作获取SQL关联查询语句。
在待处理的数据表位于不同的数据源时,用户需要按照约定的格式输入SQL关联查询语句,即通过“数据源.数据表”的格式标识表名,本实施例中将数据源和数据表称为数据源信息,所述数据源信息用于指示指定数据源中的数据表。
为了与后续提及的待处理数据表进行区分,将用户输入的SQL关联查询语句中的待处理数据表称为第一待处理数据表,所述SQL关联查询语句包括多个第一待处理数据表的数据源信息,其中,所述多个第一待处理数据表中的至少两个第一待处理数据表来自不同数据源。
在一个可选的实施方式中,图2是根据本发明实施例示出的数据处理任务页面的示意图,如图2所示,用户可以在区域201中输入SQL关联查询语句。
示例的,用户输入的SQL关联查询语句符合下列规范:
select*from(数据源.数据表)(left/right)join(数据源.数据表)on连接条件
其中,数据源、数据表,以及连接条件可以根据实际需求确定。
在用户查询的多张数据表属于不同的数据源的情况下,用户可以在输入SQL关联查询语句时,将第一待处理数据表的表名以“数据源.数据库”的格式编写。对于用户而言,虽然该方法通过PySpark框架实现,但可以输入SQL语言而不是python代码,降低了对操作人员的要求。
由于用户输入的SQL关联查询语句中表名格式为“数据源.数据库”,导致所述SQL关联查询语句并不能被执行,需要通过后续步骤102和步骤103的转换。
在步骤102中,根据所述数据源信息获取第二待处理数据表。
在获取到用户输入的SQL关联查询语句后,可以对所述SQL关联查询语句进行校验,校验通过后进行SQL解析,得到数据源信息。在PySpark框架中,获取到数据源信息后,根据数据源信息的指示读取数据源中的数据表,生成以列名为分组的分布式数据集合(Dataframe),为了与前面提及的待处理数据表进行区别,本实施例中将读取数据源中的数据表生成的待处理数据表,称为第二待处理数据表。
在步骤103中,将所述SQL关联查询语句中第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,得到可执行SQL查询语句。
将所述SQL关联查询语句中表示第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,即可得到可执行SQL查询语句。
在步骤104中,执行所述可执行SQL查询语句得到查询结果。
本发明选择PySpark框架做跨源融合分析处理数据,将任务提交到Yarn集群管理器执行,利用Yarn统一管理和调度集群中所有节点的资源。除了采用Yarn集群管理器外,还可以采用Standalone集群管理器和Mesos集群管理器进行管理,本实施例对此并不限定。通过本发明提供的数据处理方法可以将分散在不同数据源中的数据整合在一起进行查询和分析,从而提高查询的效率和数据分析的准确性,同时还能够实现数据共享和协同分析等功能,有助于优化数据管理和应用开发的效率。
下述实施例将通过具体示例说明本发明的数据处理方法。
假设MySql作为业务数据库,存储用户的基础信息和订单信息表,ClickHouse作为列式存储数据库,具有存储数据量大且查询速度较快的优势,适合存储用户所有浏览的明细数据。以用户当前的需求为计算某店铺当月每天的用户转化率为例,计算逻辑:转化率=下订单的用户数/浏览的用户数。
根据上述需求可知,需要将MySql中的订单数据与ClickHouse中的浏览数据通过用户信息作为关联字段进行关联分析。为了实现关联分析,用户根据需要按照“数据源.数据表”作为表名的格式来进行SQL编写。
图3是根据本发明实施例示出的数据处理任务的操作流程示意图,如图3所示,假定在大数据平台上已经添加MySql中的数据源mysql2和ClickHouse中的数据源ch3,以用户信息表user_info和浏览明细表browse_details为例,关联查询语法的编写格式可以为:
select*from mysql2.user_info left join ch3.browse_details on user_info.id=
browse_details.user_id;
在数据处理任务页面上,用户按照规则编写SQL关联查询语句后,响应于用户点击运行控件,获取SQL关联查询语句,进行SQL校验,校验通过后进行SQL解析,根据规则能够解析出数据源、表名和字段名;基于解析出的信息,在PySpark框架中,读取对应数据源中的数据表生成对应的Dataframe,例如mysql2中的user_info,得到第二待处理数据表,采用df1表示,读取ch3中的browse_details得到第二待处理数据表,采用df2表示。
将用户输入的SQL关联查询语句中第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,也就是将上述关联查询语句中的mysql2.user_info替换为df1,ch3.browse_details替换为df2,得到一个可执行的SQL查询语句,即select*fromdf1 left join df2 on df1.id=df2.user_id。
在PySpark框架中,执行得到的可执行SQL查询语句,得到结果数据集,即查询结果。
需要说明的是,本发明中的跨数据源查询和跨数据库查询虽然都涉及到在一个查询中访问多个数据源或多个数据库,但二者存在以下不同:
跨数据源查询通常指在一个查询中访问多个不同的数据库类型或不同的数据存储系统,例如关系型数据库、NoSQL数据库、文本文件、Hadoop集群等,这些数据源的底层存储结构、查询语法等可能都不同,因此跨数据源查询需要通过一些技术手段来将这些不同的数据源连接起来,之后进行数据的统一查询和处理。
而跨数据库查询则指在一个查询中访问多个同一类型的数据库,例如在同一的MySQL实例中进行查询。在这种情况下,数据的存储结构和查询语法都是相同的,因此跨数据库查询相对来说比较简单。
若两个数据库部署在不同机器上,且IP和端口不同,则这两个数据库属于不同的数据源,例如MySQL-10.10.111.111和MySQL-47.22.22.22属于同一种类型的不同数据源,MySQL-10.10.111.111数据源下有多个数据库,例如bdmp、datax、information_schema和mysql111等,每个数据库下包括多个数据表;
MySQL-47.22.22.22数据源下同样有多个数据库,例如mysql222。
在一个示例中,bdmp数据库下包括user_info数据表,datax数据库下包括df数据表,这种情况下,若一个查询中涉及bdmp数据库下的user_info数据表和datax数据库下的df数据表,则该查询涉及同一数据源下的不同数据库,属于跨数据库查询。
在另一个示例中,bdmp数据库下包括user_info数据表,mysql222数据库中包括test数据表,在一个查询中涉及test数据表和user_info数据表时,表明需要将MySQL-10.10.111.111数据源中的user_info数据表和MySQL-47.22.22.22数据源中的test数据表利用本发明提供的方法进行跨数据源融合。
本发明可以应用于以下场景中:
1、在向用户进行演示或进行预分析时,将用户的数据同步到大数据平台需要花费大量的时间,因此,可以通过本发明的访问方式访问用户的数据。
2、考虑到数据安全性,在用户未开放数据同步权限的情况下,可以采用本发明的访问方式访问用户的数据。
3、在用户的数据不定期更新的情况下,若没用同步更新用户更新后的数据,将导致分析结果不准确,利用本发明可以对用户存储的最新数据进行分析,可以提高分析结果的准确性。
在一些实施例中,在得到查询结果之后,还可以包括:基于用户的输入操作,确定对所述查询结果进行处理的处理条件;基于所述处理条件对所述查询结果进行处理得到处理结果;在所述查询结果中增加一列,并在该列中显示处理结果。
如图2所示,在数据处理任务页面中包括增加计算列控件,本实施例中的处理条件可以为用户自定义的计算规则,或用户自定义的筛选条件。
在一种实施例中,响应于检测到增加计算列控件被触发,可以显示如图4所示的增加计算列页面,所述增加计算列页面中包括计算规则输入框和确定控件,响应于检测到所述确定控件被触发,运行用户在所述计算规则输入框中输入的python代码。通过自定义计算列可以实现SQL语句不方便或无法实现的功能,通过获取用户输入的新增列的列名,以及编写的python代码,在校验代码格式通过后将代码段作为函数执行,得到新增的列。
图5是根据本发明实施例示出的在查询结果中新增列的示意图,如图5所示,在数据处理任务页面的区域501中显示查询结果,并查询结果对应的列表中增加自定义列,即最右侧的col1列。
在一些实施例中,在得到查询结果之后,还可以包括:基于用户的配置操作,确定存储所述查询结果的目标数据库,以及存储所述查询结果的数据表名;若所述目标数据库中不包括所述数据表名对应的数据表,则创建所述数据表名对应的数据表;若所述目标数据库中包括所述数据表名对应的数据表,则根据用户的选择操作确定输出模式,并以所述输出模式将所述查询结果写入到所述目标数据库的数据表中。
也就是说,数据处理任务页面中包括输出到库控件,用于确定查询结果存储的位置。
图6是根据本发明实施例示出的输出到库页面的示意图,响应于检测到输出到库控件被触发,展示如图6所示的输出到库页面,获取用户在输出到库页面中输入的配置信息,即目标源和表名,以及输出模式。检测数据库中是否存在用户配置的表名,若该表不存在,则创建表并存储查询结果;若该表存在,则根据选择的输出模式进行存储。如果选择追加模式,则将查询结果追加到该表;如果选择覆盖模式,则删除该表后,重新建表写入数据。
在一些实施例中,如图2所示数据处理任务页面上还包括下载控件,响应于所述下载控件被触发,将查询结果输出到csv文件中。
目前的大数据平台需要根据开发人员输入的运行脚本确定调度任务中各数据任务的执行顺序,对开发人员而言,开发成本较高且容易出错。鉴于此,本发明提供了一种任务调度方法,基于该方法,用户可以通过对目标区域的多个数据任务对应的图标进行拖拽操作,从而实现编排调度任务中各数据任务的执行顺序,降低了开发人员的工作量,且提高了开发效率。
下述实施例将结合附图对任务调度方法进行说明。
图7是根据本发明实施例示出的任务调度方法的流程图,如图7所示,所述方法包括下列步骤701~705。
在步骤701中,展示任务调度页面,基于用户在所述任务调度页面上的输入操作,创建调度任务。
在步骤702中,基于用户的选择操作从预先创建的多个候选数据任务中确定所述调度任务的多个目标数据任务。
所述候选数据任务包括数据处理任务,所述数据处理任务利用上述任一项所述的数据处理方法实现。
在步骤703中,在所述任务调度页面上显示各目标数据任务的图标。
在步骤704中,基于用户对各图标的移动操作,确定所述调度任务中各目标数据任务的执行顺序。
在步骤705中,根据所述执行顺序执行所述调度任务中的各目标数据任务。
本实施例中的调度任务可以为离线调度任务,在一种实施方式中,目标数据任务的图标可以是卡片形式,也即是每个离线调度任务可以包含多个目标数据任务,各目标数据任务之间具有依赖关系,且各目标数据任务之间可以是串行执行,也可以是并行执行。在所述任务调度页面上显示各目标数据任务卡片后,可以通过拖拽任务卡片定义目标数据任务的执行顺序。
图8是根据本发明实施例示出的任务调度顺序的示意图,如图8所示,当一个任务卡片在另一个任务卡片后面时为顺序执行,一个任务执行完成后执行下一个任务;当拖拽多个任务卡片到同一垂直位置时,则为并行执行,多个任务可以同时执行,且并行执行任务的数量不固定,例如可以有n个任务同时执行。需要注意的是,任务并行的编排也存在两种情况,任务4需要等到任务1-n均执行完成后,才能执行;而任务9只要任务8运行完成即可开始执行。
并行适用场景可以包括:在同一调度任务中需要处理大量的任务、且并行执行的任务间没有依赖关系,需要快速响应任务请求等场景。通过并行执行多个独立目标数据任务,可以提高整个系统的任务处理效率,缩短任务处理时间,提高系统的吞吐量和响应速度。
本实施例中的候选数据任务除数据处理任务外,还可以包括数据集成任务、shell脚本任务和python脚本任务等,可以根据实际调度需要进行增加,本发明对此并不限定。
本发明中的数据处理任务指能通过编辑sql语句对各数据源间的数据进行查询和关联计算,并支持将数据分析结果直接输出到库和下载,支持自定义计算列实现复杂逻辑功能。本实施例中,数据处理任务涉及的内容已在数据处理方法中进行了说明,此处不再赘述。
本发明中的数据集成任务为各数据源间的数据同步,数据源可以包括数据库、文件系统、服务接口和消息队列,数据可以通过集成任务在各数据源间进行数据融合。数据集成任务主要的应用场景为数据同步、数据整合(汇总)、数据迁移和数据交换。
本发明中的shell脚本任务是由一组shell的语法或指令实现某种功能的代码,需要进行周期/非周期性调度时,可通过上传.sh文件,将其添加到调度任务中进行执行。
本发明中的python脚本任务是由python语言编写的实现某种功能的代码,需要进行周期/非周期性调度时,可通过上传.py文件,将其添加到调度任务中进行执行。
下述实施例将对数据集成任务进行介绍。
在一些实施例中,所述方法还可以包括:基于用户在数据集成页面上的操作信息,确定数据集成任务名称,以及数据来源信息和数据去向信息;根据所述数据来源信息和所述数据去向信息,创建与所述数据集成任务名称对应的数据集成任务。
图9A、图9B和图9C分别是根据本发明实施例示出的三张数据集成页面的示意图,获取用户在如图9A所示的数据集成页面中输入的数据集成任务名称,标签信息和描述信息,获取用户在如图9B所示的数据来源页面上选择的数据来源信息,以及获取用户在如图9C所示的数据去向页面上选择的数据去向信息。根据所述数据来源信息和所述数据去向信息,创建与所述数据集成任务名称对应的数据集成任务。
在大数据平台上创建数据集成任务实现从一个数据源的数据同步到另一个数据源,以将pg某一数据表同步到clickhouse数据库中为例,配置数据集成任务:首先,填写基本信息,即在图9A所示的数据集成页面中填写任务名称和描述;其次,选择数据来源,即在如图9B所示的数据来源页面上选择pg中需要同步的表,勾选需要同步的数据字段;然后选择数据去向,即在如图9C所示的数据去向页面上选择clickhouse中的目的表和对应的字段。
本实施例的任务调度页面中包括引用数据集成任务控件和引用数据处理任务控件,通过引用数据集成任务控件从候选数据集成任务中选择目标数据集成任务,通过引用数据处理任务控件从候选数据处理任务中选择目标数据处理任务。
响应于检测到所述引用数据集成任务控件被触发,展示所述引用数据集成任务控件对应的预先创建的数据集成任务列表,响应于检测到所述数据集成任务列表中的数据集成任务被触发,在所述任务调度页面的目标区域显示对应的数据集成任务卡片。
响应于检测到所述引用数据处理任务控件被触发,展示所述引用数据处理任务控件对应的预先创建的数据处理任务列表,响应于检测到所述数据处理任务列表中的数据处理任务被触发,在所述任务调度页面的目标区域显示对应的数据处理任务卡片。
在一种实施方式中,图10A是根据本发明实施例示出的任务调度页面的示意图,展示如图10A所示的任务调度页面,基于用户在所述任务调度页面上输入基础信息以及选择的首次运行时间和运行周期(例如每小时),创建调度任务。
如图10A所示的任务调度页面中包含日志打包下载控件,引用数据集成任务控件和引用数据处理任务控件。
当任务调度详情页没有引用任何数据任务时,日志打包下载控件不可被触发;在引用目标数据任务后,触发该控件,可以将所有目标数据任务的运行日志内容打包下载到本地,该功能一般用于检查任务运行情况或当任务出现异常,排查问题时。
响应于引用数据集成任务控件被点击,可以展示如图10B所示的已经创建完成的数据集成任务列表,选择需要的数据集成任务(可多选),即可生成数据任务卡片。默认数据集成任务按照时间倒序展示,当数据集成任务比较多时,可以使用搜索框,查找目标集成任务。
响应于引用数据处理任务控件被点击,可以展示如图10C所示的已经创建完成的数据处理任务列表,选择需要的数据处理任务(可多选),生成数据任务卡片。默认数据处理任务按照时间倒序展示,当数据处理任务比较多时,可以使用搜索框,查找目标处理任务。
根据依赖关系拖动任务卡片调整数据任务顺序,在检测到用户点击保存控件的情况下,完成离线调度任务的创建。
在一些实施例中,基于用户对所述图标的选择操作,展示所述图标对应的目标数据任务的开发页面;响应于检测到用户在所述开发页面上的修改操作,保存修改后的目标数据任务。
在所述图标为数据任务卡片的情况下,所述数据任务卡片上包括查看控件;响应于检测到所述查看控件被触发,则展示所述数据任务卡片对应的开发页面;响应于检测到用户在所述开发页面上修改所述目标数据任务,则保存修改后的目标数据任务。
本实施例中的数据任务均存储在大数据平台上,相比于相关技术中需要通过输入命令查看数据任务的运行情况而言,本实施例可以通过点击查看控件修改数据任务,便于用户操作。
在一些实施例中,所述数据任务卡片上还可以包括手动运行控件;所述方法还包括:响应于检测到所述手动运行控件被触发,则运行所述数据任务卡片对应的数据任务,并展示运行结果。在不上传运行脚本的情况下,即可实现数据任务的单独运行。
在一些实施例中,所述输入操作包括调度任务的首次运行时间;
所述根据所述执行顺序执行所述调度任务中的各目标数据任务,包括:
响应于当前时间到达所述调度任务的首次运行时间,则根据所述执行顺序执行所述调度任务中的各目标数据任务,并获取每个目标数据任务的运行状态;
若所述运行状态为错误状态,则停止执行所述调度任务并返回所述调度任务的状态为错误状态;
若以所述各目标数据任务的执行顺序执行完所有的目标数据任务,则返回所述调度任务的状态为已完成状态。
图11是根据本发明实施例示出的运行顺序的示意图,如图11所示,将用户配置好的离线调度任务基础信息、运行周期、首次运行时间、每个调度任务包含的所有目标数据任务以及目标数据任务的执行顺序,存储在指定数据表中;当前时间到达任务的首次运行时间时,执行该轮调度任务:遍历执行目标数据任务,获取每个目标数据任务的运行状态,当目标数据任务运行状态为错误时,结束调度任务,不再继续执行,返回错误状态;当目标数据任务正常运行完成时,执行下一个目标数据任务,直到所有目标数据任务都运行完成,返回已完成状态。
在一些实施例中,所述大数据平台还可以包括调度任务模板页面,所述调度任务模板页面中包括多个预设的调度任务模板控件,所述方法还包括:
在所述调度任务模板页面中,响应于检测到任一调度任务模板控件被触发,展示与所述调度任务模板控件对应的调度任务模板;
获取用户对所述调度任务模板的配置信息;
基于所述调度任务模板生成与所述配置信息相匹配的调度任务。
通过调度任务模板可以方便用户在数据分析过程中引用模板快速生成离线调度任务,减少重复工作。模板的生成方式有两种:用户生成模板和系统自带模板。用户在创建一个离线调度任务后,可以选择点击生成模板按钮,将模板保存到模板列表中,用于下次做类似任务时直接引用;系统自带模板是基于大数据分析的常用指标,如日活、月活、在线率、转化率等,用户可以根据需要进行选择。
示例的,以引用计算转化率为例,图12是根据本发明实施例示出的引用模板过程的示意图,如图12所示,用户在引用调度任务模板后,可以修改任务名称、描述、设定首次运行时间和运行周期等;调度任务模板中预设有任务卡片,根据用户的选择操作增删任务卡片。还可以进入任务卡片详情页修改任务内容,例如若是数据集成任务,则可以修改数据来源和数据去向的内容,指定目标数据源;若是数据处理任务,则可以修改SQL代码并运行调试,按需编辑新增计算列、输出到库的内容等,与前述实施例中的内容类似,不再赘述。
本发明能够让用户在大数据平台上实现数据分析的全套开发过程,用户能够创建、编辑数据任务,然后进入调度任务页面引用先前创建的任务,配置运行周期和首次运行时间,实现任务的周期/非周期运行;在调度任务列表页可以看到所有调度任务的运行状态;点击某调度任务进入调度任务详情页,可以看到所有的目标数据任务卡片,可以通过拖拽任务卡片调整目标数据任务间的执行顺序,还可以点击目标数据任务卡片上直接跳转到任务详情页进行查看、编辑、手动运行和查看日志等。极大地方便了用户做数据分析的过程,降低了用户做大数据开发的门槛,且可视化的方式更易维护和调整,使用户的使用感更好。
图13是根据本发明实施例示出的数据处理装置的示意图,如图13所示,本发明提供的数据处理装置,应用于大数据平台,所述大数据平台包含至少两个不同的数据源;所述装置包括:
获取单元1301,用于展示数据处理任务页面,响应于用户在所述数据处理任务页面上的输入操作获取SQL关联查询语句,所述SQL关联查询语句包括多个第一待处理数据表的数据源信息,其中,所述多个第一待处理数据表中的至少两个第一待处理数据表来自不同数据源;
转换单元1302,用于根据所述数据源信息获取第二待处理数据表,将所述SQL关联查询语句中第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,得到可执行SQL查询语句;
执行单元1303,用于执行所述可执行SQL查询语句得到查询结果。
上述各单元具体执行的内容可以参见上述实施例,此处不再赘述。
本发明还提供了一种任务调度装置,应用于大数据平台,所述装置包括:
创建单元,用于展示任务调度页面,基于用户在所述任务调度页面上的输入操作,创建调度任务;
确定单元,用于基于用户的选择操作从预先创建的多个候选数据任务中确定所述调度任务的多个目标数据任务,所述候选数据任务包括数据处理任务,所述数据处理任务利用上述实施例所述的数据处理方法实现;
显示单元,用于在所述任务调度页面上显示各目标数据任务的图标;
移动单元,用于基于用户对各图标的移动操作,确定所述调度任务中各目标数据任务的执行顺序;
调度单元,用于根据所述执行顺序执行所述调度任务中的各目标数据任务。
执行本实施例的设备具有显示装置,所述显示装置可以为:电子纸、手机、平板电脑、电视机、笔记本电脑、数码相框、导航仪等任何具有显示功能的产品或部件。
需要指出的是,在附图中,为了图示的清晰可能夸大了层和区域的尺寸。而且可以理解,当元件或层被称为在另一元件或层“上”时,它可以直接在其他元件上,或者可以存在中间的层。另外,可以理解,当元件或层被称为在另一元件或层“下”时,它可以直接在其他元件下,或者可以存在一个以上的中间的层或元件。另外,还可以理解,当层或元件被称为在两层或两个元件“之间”时,它可以为两层或两个元件之间唯一的层,或还可以存在一个以上的中间层或元件。通篇相似的参考标记指示相似的元件。
在本发明中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (11)
1.一种数据处理方法,其特征在于,应用于大数据平台,所述大数据平台包含至少两个不同的数据源;所述方法包括:
展示数据处理任务页面,响应于用户在所述数据处理任务页面上的输入操作获取SQL关联查询语句,所述SQL关联查询语句包括多个第一待处理数据表的数据源信息,其中,所述多个第一待处理数据表中的至少两个第一待处理数据表来自不同数据源;
根据所述数据源信息获取第二待处理数据表;
将所述SQL关联查询语句中第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,得到可执行SQL查询语句;
执行所述可执行SQL查询语句得到查询结果。
2.根据权利要求1所述的方法,其特征在于,所述数据处理方法基于PySpark框架实现。
3.根据权利要求1所述的方法,其特征在于,在得到查询结果之后,所述方法还包括:
基于用户的输入操作,确定对所述查询结果进行处理的处理条件;
基于所述处理条件对所述查询结果进行处理得到处理结果;
在所述查询结果中增加一列,并在该列中显示处理结果。
4.根据权利要求1所述的方法,其特征在于,在得到查询结果之后,所述方法还包括:
基于用户的配置操作,确定存储所述查询结果的目标数据库,以及存储所述查询结果的数据表名;
若所述目标数据库中不包括所述数据表名对应的数据表,则创建所述数据表名对应的数据表;
若所述目标数据库中包括所述数据表名对应的数据表,则根据用户的选择操作确定输出模式,并以所述输出模式将所述查询结果写入到所述目标数据库的数据表中。
5.一种任务调度方法,其特征在于,应用于大数据平台,所述方法包括:
展示任务调度页面,基于用户在所述任务调度页面上的输入操作,创建调度任务;
基于用户的选择操作从预先创建的多个候选数据任务中确定所述调度任务的多个目标数据任务,所述候选数据任务包括数据处理任务,所述数据处理任务利用权利要求1至4中任一项所述的数据处理方法实现;
在所述任务调度页面上显示各目标数据任务的图标;
基于用户对各图标的移动操作,确定所述调度任务中各目标数据任务的执行顺序;
根据所述执行顺序执行所述调度任务中的各目标数据任务。
6.根据权利要求5所述的方法,其特征在于,所述候选数据任务还包括数据集成任务;所述方法还包括:
基于用户在数据集成页面上的操作信息,确定数据集成任务名称,以及数据来源信息和数据去向信息;
根据所述数据来源信息和所述数据去向信息,创建与所述数据集成任务名称对应的数据集成任务。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于用户对所述图标的选择操作,展示所述图标对应的目标数据任务的开发页面;
响应于检测到用户在所述开发页面上的修改操作,保存修改后的目标数据任务。
8.根据权利要求5所述的方法,其特征在于,所述输入操作包括调度任务的首次运行时间;
所述根据所述执行顺序执行所述调度任务中的各目标数据任务,包括:
响应于当前时间到达所述调度任务的首次运行时间,则根据所述执行顺序执行所述调度任务中的各目标数据任务,并获取每个目标数据任务的运行状态;
若所述运行状态为错误状态,则停止执行所述调度任务并返回所述调度任务的状态为错误状态;
若以所述各目标数据任务的执行顺序执行完所有的目标数据任务,则返回所述调度任务的状态为已完成状态。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在调度任务模板页面中,基于用户的选择操作展示对应的调度任务模板;
获取用户对所述调度任务模板的配置信息;
基于所述调度任务模板生成与所述配置信息相匹配的调度任务。
10.一种数据处理装置,其特征在于,应用于大数据平台,所述大数据平台包含至少两个不同的数据源;所述装置包括:
获取单元,用于展示数据处理任务页面,响应于用户在所述数据处理任务页面上的输入操作获取SQL关联查询语句,所述SQL关联查询语句包括多个第一待处理数据表的数据源信息,其中,所述多个第一待处理数据表中的至少两个第一待处理数据表来自不同数据源;
转换单元,用于根据所述数据源信息获取第二待处理数据表,将所述SQL关联查询语句中第一待处理数据表的数据源信息替换为对应所述第二待处理数据表的数据表信息,得到可执行SQL查询语句;
执行单元,用于执行所述可执行SQL查询语句得到查询结果。
11.一种计算机可读存储介质,其特征在于,当所述存储介质中的可执行的计算机程序由处理器执行时,能够实现如权利要求1至4或权利要求5-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310753836.8A CN116775685A (zh) | 2023-06-25 | 2023-06-25 | 一种数据处理方法、任务调度方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310753836.8A CN116775685A (zh) | 2023-06-25 | 2023-06-25 | 一种数据处理方法、任务调度方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775685A true CN116775685A (zh) | 2023-09-19 |
Family
ID=87994363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310753836.8A Pending CN116775685A (zh) | 2023-06-25 | 2023-06-25 | 一种数据处理方法、任务调度方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775685A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472530A (zh) * | 2023-10-25 | 2024-01-30 | 上海宽睿信息科技有限责任公司 | 一种基于集中管理的数据智能调度方法及系统 |
-
2023
- 2023-06-25 CN CN202310753836.8A patent/CN116775685A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472530A (zh) * | 2023-10-25 | 2024-01-30 | 上海宽睿信息科技有限责任公司 | 一种基于集中管理的数据智能调度方法及系统 |
CN117472530B (zh) * | 2023-10-25 | 2024-04-05 | 上海宽睿信息科技有限责任公司 | 一种基于集中管理的数据智能调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797532B1 (en) | Dashboard display using panel templates | |
CN111241454B (zh) | 一种生成网页代码的方法、系统和装置 | |
EP3452924A1 (en) | System, method, and apparatus for operating a unified document surface workspace | |
US20060020619A1 (en) | Database generation systems and methods | |
US20170060969A1 (en) | Automating extract, transform, and load job testing | |
JP7044893B2 (ja) | 業務分析方法 | |
KR102397495B1 (ko) | 노 코드 애플리케이션 개발 및 운영 시스템과 그 서비스 방법 | |
US9009175B2 (en) | System and method for database migration and validation | |
US10713070B2 (en) | Systems and methods for capturing and visualizing user interactions across devices | |
US20230102947A1 (en) | Providing operations in accordance with worksheet relationships and data object relationships | |
CN116775685A (zh) | 一种数据处理方法、任务调度方法、装置和存储介质 | |
US9244707B2 (en) | Transforming user interface actions to script commands | |
Kölzsch et al. | MoveApps: a serverless no-code analysis platform for animal tracking data | |
US20210264312A1 (en) | Facilitating machine learning using remote data | |
CN114153547B (zh) | 管理页面显示方法及装置 | |
US20230195792A1 (en) | Database management methods and associated apparatus | |
US11663199B1 (en) | Application development based on stored data | |
Sigman et al. | Splunk: Enterprise Operational Intelligence Delivered | |
JP6695847B2 (ja) | ソフトウェア部品管理システム、計算機 | |
CN112817971A (zh) | 一种基于二维映射表的数据处理方法及系统 | |
CN112308508A (zh) | 一种信息统一管理系统 | |
Diakun et al. | Splunk Operational Intelligence Cookbook: Over 80 recipes for transforming your data into business-critical insights using Splunk | |
US20220147568A1 (en) | Mapping expression generator | |
US20240119045A1 (en) | Systems and Methods for Intelligent Database Report Generation | |
US20240037325A1 (en) | Ability to add non-direct ancestor columns in child spreadsheets |
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 |