CN116048817B - 数据处理控制方法、装置、计算机设备和存储介质 - Google Patents
数据处理控制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116048817B CN116048817B CN202310318538.6A CN202310318538A CN116048817B CN 116048817 B CN116048817 B CN 116048817B CN 202310318538 A CN202310318538 A CN 202310318538A CN 116048817 B CN116048817 B CN 116048817B
- Authority
- CN
- China
- Prior art keywords
- data processing
- task
- parameter set
- information
- processing task
- 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.)
- Active
Links
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据处理控制方法、装置、计算机设备、存储介质和计算机程序产品。所述方法涉及大数据技术,包括:获取待执行的数据处理任务;通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息;基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合;向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。采用本方法能够提高数据处理的执行效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理控制方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,需要计算处理的数据量越来越大,已然进入了大数据时代。基于大数据的计算引擎对不同类型数据源中的数据做分布式的联合分析,可以对数据价值进行充分挖掘。目前,计算引擎所针对的业务场景和数据分布状态复杂多变,在配置计算引擎执行数据处理任务的计算参数时,如配置计算引擎的核数、内存使用量、结果是否压缩等参数时,难以进行准确配置,容易导致数据处理任务执行失败,影响了数据处理的执行效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据处理执行效率的数据处理控制方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据处理控制方法。所述方法包括:
获取待执行的数据处理任务;
通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息;
基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合;
向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。
第二方面,本申请还提供了一种数据处理控制装置。所述装置包括:
数据处理任务获取模块,用于获取待执行的数据处理任务;
任务特征信息获取模块,用于通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息;
参数自适应配置模块,用于基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合;
任务执行控制模块,用于向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待执行的数据处理任务;
通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息;
基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合;
向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待执行的数据处理任务;
通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息;
基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合;
向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待执行的数据处理任务;
通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息;
基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合;
向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。
上述数据处理控制方法、装置、计算机设备、存储介质和计算机程序产品,通过任务优化策略针对待执行的数据处理任务进行特征分析,基于特征分析获得的任务特征信息对数据处理任务进行参数自适应配置,通过将数据处理任务和参数自适应配置获得的计算参数集合发送至目标计算引擎,以指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。针对数据处理任务,基于数据处理任务的任务特征信息进行参数自适应配置,以控制目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务,可以基于数据处理任务的任务特征信息进行针对性的计算参数配置,确保了针对计算引擎配置计算参数的准确性,可以减少数据处理执行失败的情况,从而提高了数据处理的执行效率。
附图说明
图1为一个实施例中数据处理控制方法的应用环境图;
图2为一个实施例中数据处理控制方法的流程示意图;
图3为一个实施例中数据处理控制方法的交互图;
图4为一个实施例中执行异常重试的流程示意图;
图5为一个实施例中数据处理控制系统的框架示意图;
图6为一个实施例中执行过程优化的流程示意图;
图7为一个实施例中异常类型分布示意图;
图8为一个实施例中数据源类型分布示意图;
图9为一个实施例中访问热点传递的示意图;
图10为一个实施例中远程数据混洗服务控制的示意图;
图11为一个实施例中远程数据混洗服务自适应控制的流程示意图;
图12为一个实施例中数据处理控制装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据处理控制方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器10进行通信,服务器104与计算引擎106通过网络进行通信,计算引擎106可以是支持进行数据处理的服务器。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。用户可以通过终端102向服务器104发送数据处理任务,如可以向服务器104发送SQL(Structured Query Language,结构化查询语言)语句以进行跨数据库的数据计算处理,服务器104接收到待执行的数据处理任务,通过任务优化策略针对数据处理任务进行特征分析,得到任务特征信息,并基于任务特征信息对数据处理任务进行参数自适应配置,服务器104通过将数据处理任务和参数自适应配置获得的计算参数集合发送至计算引擎106,以指示计算引擎106按照计算参数集合中的自适应计算参数执行数据处理任务。进一步地,计算引擎106可以将执行数据处理任务得到的任务输出结果直接返回终端102,也可以将任务输出结果通过服务器104转发至终端102。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104和计算引擎106各自可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
在一个实施例中,如图2所示,提供了一种数据处理控制方法,该方法由计算机设备执行,具体可以由终端或服务器等计算机设备单独执行,也可以由终端和服务器共同执行,在本申请实施例中,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取待执行的数据处理任务。
其中,数据处理任务是指需要执行进行数据处理的任务,具体可以是需要针对不同数据库中数据进行联合分析的计算任务。数据处理任务所针对的数据可以是数据库中的结构化数据,还可以是不同数据库中的异构数据。数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。数据处理任务可以由用户通过终端向服务器发送,如通过发送SQL语句以指示需要执行的数据处理任务,即数据处理任务的具体形式可以为SQL语句。在不同的应用场景中,数据处理任务可以针对不同数据源中的数据进行不同类型的计算处理,如可以对不同企业的数据库中员工性别、年龄进行查询计算,以获得与员工性别相关的数据,如可以查询计算得到各个年龄段中男性员工和女性员工的人员数目。
具体地,服务器获取待执行的数据处理任务,数据处理任务可以由用户通过终端向服务器发送,如用户需要查询数据库中数据进行处理时,可以通过向服务器发送SQL语句,服务器接收SQL语句,得到待执行的数据处理任务。
步骤204,通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息。
其中,任务优化策略是针对数据处理任务的执行进行优化处理的策略,通过任务优化策略可以得到适配于数据处理任务的任务执行计划,按照确定的任务执行计划针对数据处理任务进行执行,可以确保数据处理任务的执行效率。任务优化策略的类型可以根据实际需要预先设定,如可以包括但不限于包括RBO(Rule-Based Optimization,基于规则匹配的查询优化)、CBO(Cost-BasedOptimization,基于代价估算的查询优化)或HBO(History-Based Optimization,基于历史负载的查询优化)中至少一种的任务优化策略。在具体应用中,RBO是基于规则的优化策略,通过数据库中的一系列规则来决定SQL语句的执行计划,即无论SQL语句针对的数据表中内容怎样、数据分布如何,都不会影响到执行计划。例如,若在SQL语句执行的规则中索引的优先级大于全表扫描的优先级,则可以优先执行索引的SQL语句,再执行全表扫描的SQL语句。CBO是基于代价的优化策略,通过根据优化规则对关系表达式进行转换,生成多个执行计划,然后通过根据统计信息和代价模型计算各种可能执行计划的代价,从中选用代价最低的执行方案,其依赖数据库对象的统计信息,统计信息的准确与否会影响CBO任务优化策略的结果。HBO是基于历史负载信息的优化策略,通过根据历史SQL语句的历史负载信息进行优化确定,如可以确定负载最小对应的执行计划执行相应的SQL语句。不同的任务优化策略适用于不同类型数据处理任务的处理,即对于不同类型的数据处理任务,可以采用不同的任务优化策略进行特征分析。
在通过任务优化策略确定数据处理任务的任务执行计划过程中,可以对数据处理任务进行特征分析,得到相应优化策略维度下的任务特征信息,基于该任务特征信息可以匹配数据处理任务对应的任务执行计划。任务特征信息用于表征数据处理任务在任务优化策略维度下的任务特征,同一数据处理任务,按照不同任务优化策略进行特征分析,可以获得不同的任务特征信息。
具体地,服务器查询预先设定的任务优化策略,并通过该任务优化策略针对数据处理任务进行特征分析,以获得数据处理任务的任务特征信息,任务特征信息与任务优化策略相匹配。在具体应用中,服务器可以通过调用不同任务优化策略关联的优化器,对数据处理任务进行特征分析,得到数据处理任务的任务特征信息。例如,数据处理任务包括SQL语句时,服务器可以调用RBO优化器获取当前SQL语句访问的表集、各语法子句涉及的列集或函数集、规则变换各阶段的物理计划树数据结构等语法信息,得到数据处理任务对应于规则优化维度的任务特征信息。在具体实现时,任务优化策略的类型可以根据数据处理任务的类型以及数据处理任务所涉及的业务对应设置。例如,可以设置RBO、CBO或HBO中任意一种作为任务优化策略,针对数据处理任务进行特征分析。此外,也可以设置RBO、CBO或HBO中的两种或者三种作为任务优化策略,针对数据处理任务进行特征分析,通过综合每种任务优化策略的特征分析结果,得到数据处理任务的任务特征信息。例如,针对RBO、CBO或HBO,可以分别设置不同的权重,并按照相应的权重将每种任务优化策略的特征分析结果进行加权处理,得到数据处理任务的任务特征信息。
步骤206,基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合。
其中,参数自适应配置是基于数据处理任务的任务特征信息,对于数据处理任务针对性进行计算参数的配置处理。计算参数是计算引擎执行某个用户的数据处理任务,具体为执行某个计算任务时,配套采用的若干系统参数,如可以包括但不限于包括核数、内存使用量等资源参数,超时间隔、失效重试等控制参数,是否使用broadcast join(广播连接)、是否支持类型隐式转换、结果是否压缩等算法参数等。计算参数集合是计算引擎在执行数据处理任务时配置的各个计算参数的集合,即计算参数集合中包括计算引擎执行数据处理任务时配置的各个计算参数。
具体地,服务器可以基于任务特征信息对数据处理任务进行参数自适应配置,如可以基于任务特征信息从参数配置库中进行参数匹配,获得适用于数据处理任务的计算参数集合,计算参数集合中包括针对数据处理任务进行执行时的各个自适应计算参数。例如,任务特征信息中可以包括历史SQL记录、子集的资源使用量、各stage(阶段)输入输出数据量、失败异常类型与文本等统计信息,服务器可以基于任务特征信息中的统计信息,在预先设置的参数配置库中进行参数集合映射,获得针对数据处理任务的计算参数集合。在具体应用中,执行数据处理任务可以包括多个处理阶段,不同处理阶段可以对应于不同的自适应计算参数,即不同处理阶段对应的自适应计算参数可以基于不同维度的任务特征信息进行参数自适应配置得到。例如,对于数据处理任务执行前的自适应计算参数,服务器可以基于HBO获得的统计信息针对进行参数自适应配置得到;对于数据处理任务执行中的传输参数,服务器可以基于RBO得到的语法信息针对进行参数自适应配置得到。
步骤208,向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。
其中,计算引擎是一种分布式计算系统,支持通过定制的连接器访问不同类型的数据源,汇聚数据执行联合分析,即计算引擎用于执行数据处理任务,基于数据处理任务进行数据处理,如进行数据联合分析等。目标计算引擎是选定用于执行数据处理任务的计算引擎,目标计算引擎的类型可以基于数据处理任务进行自适应配置,具体可以包括Spark计算引擎、Hive计算引擎、Presto计算引擎或StarRocks计算引擎等各种类型中的至少一种。自适应计算参数是计算参数集合中的计算参数,自适应计算参数基于任务特征信息对数据处理任务进行参数自适应配置得到,对于具有不同任务特征信息的数据处理任务,可以配置获得不同的自适应计算参数,以确保数据处理任务执行的针对性,提高数据处理任务的执行效率。
具体地,服务器确定执行数据处理任务的目标计算引擎,目标计算引擎也可以基于数据处理任务的任务特征信息进行自适应确定。服务器将计算参数集合和数据处理任务发送到目标计算引擎,以指示目标计算引擎从计算参数集合中获得自适应计算参数,并按照自适应计算参数执行数据处理任务,如目标计算引擎可以按照自适应计算参数和数据处理任务从各个数据库中查询数据,并对查询得到的数据进行计算处理。计算参数集合中的自适应计算参数可以基于不同维度的任务特征信息进行参数自适应配置得到,从而能够基于数据处理任务的任务特征信息进行针对性的计算参数配置,确保计算参数配置的准确性,可以减少数据处理执行失败的情况,从而提高数据处理的执行效率。
在一个具体应用中,如图3所示,用户通过终端向服务器发送数据处理任务,具体可以发送SQL语句,服务器获取待执行的数据处理任务,并调用预设的优化器对数据处理任务进行特征分析,得到数据处理任务的任务特征信息。其中,优化器可以基于不同任务优化策略进行特征分析,如可以基于RBO、CBO或HBO中的至少一种对数据处理任务进行特征分析。服务器基于任务特征信息进行参数自适应配置,得到针对数据处理任务的计算参数集合,计算参数集合中包括自适应计算参数。服务器将计算参数集合和数据处理任务发送到计算引擎集群中的目标计算引擎,由目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务,具体目标计算引擎可以根据数据处理任务从各个数据库中获取待处理的数据,并按照自适应计算参数针对待处理数据进行处理,如针对待处理数据进行计算处理,从而实现对数据处理任务的执行。目标计算引擎还可以将数据处理任务的任务输出结果通过服务器返回至终端。
上述数据处理控制方法中,通过任务优化策略针对待执行的数据处理任务进行特征分析,基于特征分析获得的任务特征信息对数据处理任务进行参数自适应配置,通过将数据处理任务和参数自适应配置获得的计算参数集合发送至目标计算引擎,以指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。针对数据处理任务,基于数据处理任务的任务特征信息进行参数自适应配置,以控制目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务,可以基于数据处理任务的任务特征信息进行针对性的计算参数配置,确保了针对计算引擎配置计算参数的准确性,可以减少数据处理执行失败的情况,从而提高了数据处理的执行效率。
在一个实施例中,任务特征信息包括基于历史负载的任务优化策略进行特征分析得到的统计信息;基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合,包括:确定针对数据处理任务的目标计算引擎;获取目标计算引擎关联的参数集合配置库;基于统计信息从参数集合配置库中获得数据处理任务的计算参数集合。
其中,基于历史负载的任务优化策略是利用历史流水负载的执行状态、响应时间、资源消耗量等统计信息,针对数据处理任务的执行计划进行优化的策略。统计信息基于历史负载的任务优化策略对数据处理任务进行特征分析得到,如可以对执行计划的计算参数进行统计得到,具体可以通过调用HBO优化器,对数据处理任务进行特征分析,获得包括统计信息的任务特征信息,基于统计信息可以对数据处理任务的计算参数集合进行自适应配置。例如,服务器可以调用HBO优化器获取HBO流水记录,并从HBO流水记录中获取与数据处理任务相似的、预定时间区间范围的历史负载信息,从而根据历史负载信息中包括的执行状态、响应时间、资源消耗量等参数信息,得到数据处理任务的统计信息。参数集合配置库与计算引擎关联,不同类型的计算引擎可以关联不同的参数集合配置库。参数集合配置库中可以包括基于专家经验知识预先针对各种数据处理任务设置的各种初始化参数集合,初始化参数集合中包括基于专家经验知识预先配置的各种初始化计算参数。通过数据处理任务的统计信息可以在参数集合配置库中进行参数映射,得到数据处理任务的计算参数集合。
具体地,服务器得到的任务特征信息中包括统计信息,统计信息是基于历史负载的任务优化策略对数据处理任务进行特征分析得到的,具体可以在基于历史负载的任务优化策略确定数据处理任务的任务执行计划时,从HBO流水记录中提取得到统计信息。在具体实现时,服务器可以通过调用HBO优化器获取与数据处理任务相似的历史流水记录,通过对历史流水记录中的各项参数信息,如执行状态、响应时间、资源消耗量等进行统计分析,获得数据处理任务的统计信息。服务器确定针对数据处理任务的目标计算引擎,目标计算引擎也可以根据数据处理任务的任务特征信息确定得到。对于具有不同任务特征信息的数据处理任务,可以通过不同类型的计算引擎针对进行执行处理。在实际应用中,目标计算引擎可以是基于数据处理任务的任务特征信息自适应确定的计算引擎,也可以是根据用户指令选定的计算引擎。
服务器获取目标计算引擎关联的参数集合配置库,具体可以基于计算引擎与参数集合配置库之间的关联关系,根据目标计算引擎的计算引擎标识,获取目标计算引擎关联的参数集合配置库。参数集合配置库中包括基于专家经验知识预先配置的各种初始化参数集合,各初始化参数集合中可以包括不同的初始化计算参数。服务器基于数据处理任务的统计信息,从参数集合配置库中获得数据处理任务的计算参数集合。例如,服务器可以将数据处理任务的统计信息在参数集合配置库中进行匹配,以获得与数据处理任务的统计信息相匹配的计算参数集合;此外,服务器也可以基于数据处理任务的统计信息在参数集合配置库进行参数映射,如可以将统计信息中的各种信息映射成对应的自适应计算参数,从而获得数据处理任务的计算参数集合。
本实施例中,对于基于历史负载的任务优化策略进行特征分析得到的统计信息,服务器基于统计信息,从目标计算引擎关联的参数集合配置库中获得数据处理任务的计算参数集合,从而可以基于数据处理任务的统计信息在执行前,针对数据处理任务进行计算参数自适应预测,可以确保针对计算引擎配置计算参数的准确性,减少数据处理执行失败的情况,从而提高数据处理的执行效率。
在一个实施例中,基于统计信息从参数集合配置库中获得数据处理任务的计算参数集合,包括:将统计信息在参数集合配置库中进行参数集合映射,得到参数集合映射结果;当参数集合映射结果表示参数集合配置库中存在目标参数集合,根据参数集合映射结果,从参数集合配置库中获得数据处理任务的计算参数集合。
其中,参数集合映射是基于统计信息在参数集合配置库中进行映射,以确定统计信息对应映射的计算参数集合。在具体应用中,对于统计信息中各种类型信息,可以在参数集合配置库中分别进行映射,以确定各种类型信息映射后的自适应计算参数,具体可以根据各种类型信息,从参数集合配置库中分别匹配满足相应执行需求的计算参数,如根据统计信息中CPU、内存、磁盘等资源使用量,匹配执行数据处理任务所需的资源参数,具体可以包括核数、内存使用量等;又如可以根据统计信息中的超时间隔,匹配执行数据处理任务所需的超时间隔,从而可以在数据处理任务执行失效的情况下,按照匹配的超时间隔进行执行重试;还可以根据统计信息中结果是否压缩的参数,匹配确定执行数据处理任务时针对结果的压缩处理参数等。根据各种类型信息映射后的自适应计算参数可以得到参数集合映射结果。具体地,服务器可以将各种类型信息映射后的自适应计算参数组合得到映射参数集合,服务器将映射参数集合与参数集合配置库中的各种初始化参数集合进行匹配,从而得到参数集合映射结果。参数集合映射结果可以表征在参数集合配置库中是否存在与映射参数集合相匹配的初始化参数集合,即是否存在满足数据处理任务的目标参数集合,若存在则可以从参数集合配置库中获得针对数据处理任务的计算参数集合。
具体地,服务器可以将统计信息在参数集合配置库中进行参数集合映射,如服务器可以针对统计信息进行映射得到对应的映射参数集合,并将映射参数集合与参数集合配置库中的各个初始化参数集合分别进行匹配,已得到参数集合映射结果。在进行参数集合映射时,服务器可以针对统计信息中的各类型信息,在参数集合配置库中进行参数匹配,以匹配得到在执行数据处理任务时所需满足的参数,统计信息中包括各项不同信息,可以分别匹配得到不同的自适应计算参数,根据各项不同信息各自的自适应计算参数可以得到参数集合映射结果。服务器根据参数集合映射结果可以确定在参数集合配置库中是否存在与映射参数集合相匹配的目标参数集合,如若存在至少一个目标参数集合,则服务器可以根据参数集合映射结果,从参数集合配置库中获得数据处理任务的至少一个计算参数集合。具体地,服务器可以根据参数集合映射结果确定与映射参数集合相匹配的各个目标参数集合,并从参数集合配置库中获取各个目标参数集合,以获得数据处理任务的至少一个计算参数集合。
服务器可以通过获得的至少一个计算参数集合控制目标计算引擎对数据处理任务进行执行。在具体应用中,当获取的计算参数集合数量为一个时,服务器可以控制目标计算引擎基于该计算参数集合执行数据处理任务;当获取的计算参数集合数量为至少两个时,服务器可以从至少两个计算参数集合中选定一个计算参数集合,并控制目标计算引擎基于选定的计算参数集合执行数据处理任务,而对于未选定的计算参数集合可以作为备选参数集合,以在数据处理任务执行失败时,服务器能够控制目标计算引擎基于备选参数集合重新执行数据处理任务。在具体实现中,从至少两个计算参数集合中选定一个计算参数集合时,可以根据实际需要从不同维度进行选择,如可以从所需配置资源的角度,选择所需配置资源较少的计算参数集合;也可以从执行成功概率的角度,选定执行成功概率更高的计算参数集合;还可以基于多种角度进行加权选择,以从至少两个中计算参数集合选定一个计算参数集合针对数据处理任务进行执行。此外,在参数集合映射结果表示参数集合配置库中不存在目标参数集合时,即参数集合配置库中不存在与映射参数集合相匹配的初始化参数集合,表明不需要针对计算参数进行配置,即可以直接采用目标计算引擎的原始计算参数集合或默认计算参数集合执行数据处理任务。
本实施例中,服务器将统计信息在参数集合配置库中进行参数集合映射,在参数集合映射结果表示参数集合配置库中存在目标参数集合时,服务器根据参数集合映射结果从参数集合配置库中获得数据处理任务的计算参数集合,从而可以基于数据处理任务的统计信息在执行前,针对数据处理任务进行计算参数自适应预测,获取与统计信息相适配的至少一个计算参数集合,以确保针对计算引擎配置计算参数的准确性,减少数据处理执行失败的情况,从而提高数据处理的执行效率。
在一个实施例中,如图4所示,数据处理控制方法还包括执行异常重试的处理,具体包括:
步骤402,当从目标计算引擎获得数据处理任务的执行异常信息,获取目标计算引擎的资源负载信息。
其中,执行异常信息由目标计算引擎在执行数据处理任务的过程中返回,表明目标计算引擎在执行数据处理任务时产生异常,导致数据处理任务执行失败,需要触发进行重新执行。资源负载信息用于表征目标计算引擎的资源负载状态,具体可以通过统一元数据API(Application Programming Interface,应用程序接口)获取得到。
具体地,在服务器将计算参数集合和数据处理任务发送到目标计算引擎,目标计算引擎执行数据处理任务的过程中,服务器可以检测目标计算引擎对数据处理任务的执行状态。在目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务执行失败时,如针对数据处理任务执行的结果反馈超时,即超过预设反馈阈值时长时,认为数据处理任务执行失败,目标计算引擎可以向服务器返回针对数据处理任务的执行异常信息,表明目标计算引擎未能成功执行数据处理任务,服务器可以进一步获取目标计算引擎的资源负载信息,如可以通过统一元数据API获得目标计算引擎的资源负载信息。
步骤404,根据异常信息、资源负载信息、统计信息和参数集合配置库,对数据处理任务进行参数集合更新,获得更新参数集合。
其中,更新参数集合是针对数据处理任务的计算参数进行更新后得到的计算参数集合,具体基于异常信息、资源负载信息、统计信息和参数集合配置库,对数据处理任务进行参数集合更新得到。
具体地,服务器可以结合异常信息、资源负载信息、统计信息和参数集合配置库,对数据处理任务进行参数集合更新,以获得针对数据处理任务的更新参数集合。在具体应用中,服务器可以基于异常信息、资源负载信息、统计信息和参数集合配置库,针对数据处理任务直接进行参数自适应配置,以实现对数据处理任务进行参数集合更新,获得更新参数集合;服务器也可以根据异常信息、资源负载信息、统计信息和参数集合配置库,对计算参数集合进行更新,如可以更新计算参数集合中的自适应计算参数,从而实现对数据处理任务的参数集合更新,获得更新参数集合。此外,若设置有备选参数集合,则服务器还可以根据备选参数集合的可用状态,结合异常信息、资源负载信息、统计信息和参数集合配置库,确定是否将备选参数集合作为更新参数集合,以实现对数据处理任务的参数集合更新处理。
步骤406,向目标计算引擎发送更新参数集合;更新参数集合,用于指示目标计算引擎按照更新参数集合中的自适应计算参数执行数据处理任务。
具体地,服务器将更新参数集合发送到目标计算引擎,以指示目标计算引擎按照更新参数集合中的自适应计算参数执行数据处理任务,从而在目标计算引擎针对数据处理任务执行失败后,通过更新参数集合针对数据处理任务进行执行重试,以进一步提高数据处理任务的执行成功率,减少数据处理执行失败的情况,从而提高了数据处理的执行效率。
本实施例中,在目标计算引擎针对数据处理任务执行失败时,服务器根据目标计算引擎发送的执行异常信息、目标计算引擎的资源负载信息、统计信息和参数集合配置库,对数据处理任务进行参数集合更新,并将得到的更新参数集合向目标计算引擎发送,以指示目标计算引擎按照更新参数集合中的自适应计算参数重新执行数据处理任务,可以进一步提高数据处理任务的执行成功率,减少数据处理执行失败的情况,从而提高数据处理的执行效率。
在一个实施例中,计算参数集合中包括备选参数集合;根据异常信息、资源负载信息、统计信息和参数集合配置库,对数据处理任务进行参数集合更新,获得更新参数集合,包括:根据异常信息、资源负载信息、统计信息、参数集合配置库和备选参数集合的参数集合状态,对备选参数集合进行配置决策,得到配置决策结果;当配置决策结果表示通过备选参数集合执行数据处理任务,根据备选参数集合得到更新参数集合。
其中,备选参数集合是未被选定用于执行数据处理任务的计算参数集合,在计算参数集合的数量为至少两个时,服务器可以选定一个计算参数集合向目标计算引擎发送,以由目标计算引擎按照选定的计算参数集合执行数据处理任务,对于未被选定的计算参数集合则作为备选参数集合。参数集合状态用于描述备选参数集合的状态信息,从而能够确定备选参数集合是否满足可用条件,处于可用状态,以便决策选定备选参数集合针对数据处理任务进行执行处理。配置决策结果是对备选参数集合进行配置决策得到的决策结果,根据配置决策结果可以确定是否启用备选参数集合对数据处理任务进行执行。
具体地,服务器还可以获取备选参数集合的参数集合状态,并基于异常信息、资源负载信息、统计信息、参数集合配置库和备选参数集合的参数集合状态,对备选参数集合进行配置决策,即确定是否基于备选参数集合执行数据处理任务,得到配置决策结果。在配置决策结果表示通过备选参数集合执行数据处理任务,即需要启用备选参数集合执行数据处理任务时,服务器可以根据备选参数集合得到数据处理任务的更新参数集合。在具体应用中,服务器可以直接将备选参数集合作为更新参数集合,也可以基于异常信息、资源负载信息、统计信息、参数集合配置库和备选参数集合的参数集合状态,对备选参数集合进行更新,获得更新参数集合。
本实施例中,服务器根据异常信息、资源负载信息、统计信息、参数集合配置库和备选参数集合的参数集合状态,对备选参数集合进行配置决策,以确定是否启用备选参数集合执行数据处理任务,在配置决策结果表示启用备选参数集合时,服务器根据备选参数集合得到更新参数集合,可以利用计算参数集合中包括的更新参数集合重新执行数据处理任务,能够提高更新参数集合的确定效率,从而有利于提高数据处理的执行效率。
在一个实施例中,数据处理控制方法还包括:根据计算参数集合生成数据处理任务的任务执行记录;将任务执行记录发送至发出数据处理任务的终端;任务执行记录,用于指示终端针对任务执行记录发送参数集合反馈信息。
其中,任务执行记录根据计算参数集合生成,可以包括针对数据处理任务的计算参数集合。任务执行记录具体形式可以根据实际需要进行灵活设置,如可以为日志形式,并通过日志中突出显示方式,展示计算参数集合中的自适应计算参数。参数集合反馈信息是终端侧的用户针对任务执行记录提供的反馈信息,具体可以包括正反馈信息和负反馈信息。终端发送的参数集合反馈信息可以添加到基于历史负载的任务优化策略的统计信息中,如可以添加到元数据的历史流水记录中,以作为后续基于历史负载的任务优化策略的统计信息。
具体地,服务器可以根据计算参数集合生成数据处理任务的任务执行记录,并将任务执行记录发送至发出数据处理任务的终端,以指示终端针对任务执行记录发送参数集合反馈信息。在具体实现中,服务器可以根据计算参数集合生成日志形式的任务执行记录,并将任务执行记录发送至发出数据处理任务的终端,终端可以针对任务执行记录触发更新操作,如编辑参数值、新增或删除参数、有用或无用点选等,生成参数集合反馈信息并将参数集合反馈信息向服务器发送。此外,对于执行失败的数据处理任务,终端可以基于更新后的计算参数集合再触发执行数据处理任务。服务器可以获得终端发送的参数集合反馈信息,根据参数集合反馈信息更新计算参数集合,并将更新后的计算参数集合同步到元数据的历史流水记录和目标计算引擎关联的参数集合配置库中。
本实施例中,服务器向目标计算引擎发送计算参数集合和数据处理任务,触发执行数据处理任务后,服务器可以根据计算参数集合生成任务执行记录,并将任务执行记录发送至发出数据处理任务的终端,以指示终端针对任务执行记录发送参数集合反馈信息,从而获得针对参数自适应配置的计算参数集合的正负反馈信息,从而能够扩充基于历史负载的任务优化策略的统计信息,有利于提高基于统计信息配置计算参数的准确性,从而提高数据处理的执行效率。
在一个实施例中,任务特征信息包括基于规则的任务优化策略进行特征分析得到的语法信息;基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合,包括:根据语法信息中的扫描节点,确定数据处理任务的数据源类型;获取数据源类型关联的自适应驱动包;基于自适应驱动包得到数据处理任务的计算参数集合。
其中,基于规则的任务优化策略是利用预设规则对数据处理任务的执行计划进行优化的策略。语法信息可以基于规则的任务优化策略对数据处理任务进行特征分析得到,具体可以通过调用RBO优化器,对数据处理任务进行特征分析,获得包括语法信息的任务特征信息。例如,服务器可以调用RBO优化器针对数据处理任务的语法信息进行提取,以获得数据处理任务的语法信息,具体可以获取当前SQL语句访问的表集、各语法子句涉及的列集或函数集、规则变换各阶段的物理计划树数据结构等语法信息。
在语法信息中可以包括扫描节点,扫描节点具体可以通过解析数据处理任务的物理计划树确定,每个扫描节点可以对应于一个数据表,从而能够通过扫描节点确定执行数据处理任务时所需要访问的数据源类型。基于扫描节点可以确定数据处理任务的所需要针对处理的数据所属的数据源类型。不同的数据源类型,需要通过不同的驱动包进行数据查询。自适应驱动包是与数据处理任务的数据源类型关联的驱动包,具体可以是在执行数据处理任务时所需要访问的数据源类型对应的驱动包,基于该驱动包支持目标计算引擎访问相应数据以进行计算处理。
具体地,对于任务特征信息中基于规则的任务优化策略进行特征分析得到的语法信息,服务器可以从语法信息中确定扫描节点,并根据扫描节点确定数据处理任务的数据源类型。不同的数据源类型依赖于不同的驱动包进行数据访问,服务器可以获取数据源类型关联的自适应驱动包,并根据自适应驱动包得到数据处理任务的计算参数集合。服务器通过将包括自适应驱动包的计算参数集合发送至目标计算引擎,以指示目标计算引擎在执行数据处理任务时,可以依赖于自适应驱动包进行数据访问,从而执行数据处理任务相应的数据处理。
本实施例中,服务器根据基于规则的任务优化策略进行特征分析得到的语法信息中的扫描节点,确定数据处理任务的数据源类型,并基于数据源类型关联的自适应驱动包得到数据处理任务的计算参数集合,从而对传输的数据访问时依赖的驱动包进行自适应精简处理,避免传递全部的驱动包,可以节省数据处理任务执行过程中的网络开销,从而有利于提高数据处理的执行效率。
在一个实施例中,任务特征信息包括基于规则的任务优化策略进行特征分析得到的语法信息,或基于代价的任务优化策略进行特征分析得到的代价信息中的至少一项;基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合,包括:根据语法信息或代价信息中的至少一项,对数据处理任务的任务输出结果的数据量大小进行预测,得到预测结果;根据预测结果确定针对数据处理任务的自适应存储参数;基于自适应存储参数得到数据处理任务的计算参数集合。
其中,基于代价的任务优化策略是利用执行数据处理任务时的代价估计结果对执行计划进行优化的策略。代价信息可以基于代价的任务优化策略对数据处理任务进行特征分析得到,具体可以通过调用CBO优化器对数据处理任务进行特征分析,获得包括代价信息的任务特征信息。例如,服务器可以调用CBO优化器,获取数据处理任务的代价信息,具体可以获取当前SQL语句表或分区数据的分布及量级、各SQL算子的读写数据量估算等代价信息。在具体实现中,可以通过调用CBO优化器针对数据处理任务生成多个执行计划,基于根据统计信息和代价模型计算各个执行计划的代价,并从代价最低的执行计划中确定针对数据处理任务的代价信息,根据得到的代价信息可以得到资源参数、控制参数、算法参数等各种针对数据处理任务的计算参数。任务输出结果是执行数据处理任务得到的执行结果,预测结果可以包括针对任务输出结果的数据量预测大小,如可以为行数或字节数等数据量预测大小。自适应存储参数是目标计算引擎针对数据处理任务的任务输出结果进行存储的配置参数。目标计算引擎可以按照自适应存储参数对数据处理任务的任务输出结果进行存储控制,如可以将数据处理任务的任务输出结果存储到自适应存储参数指定的存储空间或存储路径中。
具体地,任务特征信息中包括语法信息和代价信息中的至少一项,服务器可以基于语法信息和代价信息中的至少一项,对数据处理任务的任务输出结果的数据量大小进行预测,得到预测结果。在具体应用中,若任务特征信息中包括语法信息和代价信息中任意一项,则服务器可以基于语法信息或代价信息进行数据量大小的预测;若任务特征信息中包括语法信息和代价信息,则服务器可以基于语法信息和代价信息分别各自进行预测,并针对各自预测结果进行加权处理,得到数据处理任务的预测结果。服务器基于预测结果针对数据处理任务进行存储参数配置,得到针对数据处理任务的自适应存储参数。服务器可以基于自适应存储参数得到数据处理任务的计算参数集合。服务器通过将包括自适应存储参数的计算参数集合发送至目标计算引擎,以指示目标计算引擎在执行数据处理任务时,对于数据处理任务的任务输出结果,将其存储到自适应存储参数所指定的存储空间或存储路径中,从而实现对任务输出结果的自适应存储处理。
本实施例中,服务器根据语法信息或所述代价信息中的至少一项,对数据处理任务的任务输出结果的数据量大小进行预测,并基于预测结果确定针对数据处理任务的自适应存储参数,基于自适应存储参数得到数据处理任务的计算参数集合,可以根据任务输出结果的数据量大小自适应调整存储参数,有利于提高针对任务输出结果的存储处理效率。
在一个实施例中,根据预测结果确定针对数据处理任务的自适应存储参数,包括:当预测结果表示任务输出结果的数据量大于输出存储阈值,根据用于存储任务输出结果的目标存储空间的存储空间信息得到自适应存储参数,并将存储空间信息发送至发出数据处理任务的终端。
其中,输出存储阈值根据实际需要进行设定,用于判定针对数据处理任务的任务输出结果的存储方式。目标存储空间可以根据实际需要进行设置,作为存储任务输出结果的中转空间,终端可以从目标存储空间中获取数据处理任务的任务输出结果。存储空间信息可以用于标识目标存储空间,具体可以包括存储空间信息的存储空间名称、存储空间路径等标识信息,以便终端可以基于存储空间信息确定目标存储空间,并从目标存储空间中获得数据处理任务的任务输出结果。
具体地,在预测结果表示任务输出结果的数据量大于输出存储阈值时,表明任务输出结果的数据量较大,若直接将任务输出结果传输到发出数据处理任务的终端,则任务输出结果反馈的延时较长,增加了数据处理任务的执行时间,服务器可以将任务输出结果存储到预设的目标存储空间中,并根据目标存储空间的存储空间信息得到自适应存储参数。服务器可以将述存储空间信息发送至发出数据处理任务的终端,以指示终端根据存储空间信息从目标存储空间中获得数据处理任务的任务输出结果。
本实施例中,在任务输出结果的数据量大于输出存储阈值时,服务器将任务输出结果存储到目标存储空间,根据目标存储空间的存储空间信息得到自适应存储参数,并将存储空间信息发送至发出数据处理任务的终端,使得终端可以从目标存储空间中获取任务输出结果,可以减小任务输出结果的反馈 ,降低数据处理任务的执行时间,从而提高任务输出结果的存储处理效率。
在一个实施例中,根据预测结果确定针对数据处理任务的自适应存储参数,包括:当预测结果表示任务输出结果的数据量不大于输出存储阈值、或预测结果为空,确定自适应存储参数包括直接返回存储方式;直接返回存储方式,是将任务输出结果发送至发出数据处理任务的终端的输出结果存储方式。
其中,直接返回存储方式是将任务输出结果发送至发出数据处理任务的终端的输出结果存储方式,即由目标计算引擎将数据处理任务的任务输出结果直接反馈到发出数据处理任务的终端。
具体地,在预测结果表示任务输出结果的数据量不大于输出存储阈值时,或者预测结果为空,即无法预测任务输出结果的数据量大小时,可以认为任务输出结果的数据量较小,服务器确定自适应存储参数包括直接返回存储方式,从而指示目标计算引擎将数据处理任务的任务输出结果,向发出数据处理任务的终端进行发送,以由终端直接存储数据处理任务的任务输出结果,而不经过目标存储空间的中间转存。
本实施例中,在预测结果表示任务输出结果的数据量不大于输出存储阈值时,或者预测结果为空时,服务器确定自适应存储参数包括直接返回存储方式,以指示目标计算引擎将任务输出结果向发出数据处理任务的终端进行发送,可以提高任务输出结果反馈的处理效率。
在一个实施例中,任务特征信息包括基于规则的任务优化策略进行特征分析得到的语法信息,或基于历史负载的任务优化策略进行特征分析得到的统计信息中的至少一项;基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合,包括:根据语法信息或统计信息中的至少一项,针对数据处理任务进行访问热点检测,得到检测结果;当检测结果表示数据处理任务存在目标访问热点,根据目标访问热点生成热点缓存参数;根据热点缓存参数得到数据处理任务的计算参数集合;热点缓存参数,用于指示目标计算引擎在执行数据处理任务的过程中,将目标访问热点的数据进行缓存复用。
其中,访问热点是指在执行某个数据处理任务时,需要频繁进行访问的热点数据,具体可以包括数据库、数据表、数据列或数据分区等各种粒度的数据。目标访问热点是执行当前的数据处理任务中需要频繁进行访问的热点数据。热点缓存参数可以包括目标访问热点的热点信息,通过热点缓存参数可以指示目标计算引擎将目标访问热点的数据进行缓存复用,即可以将目标访问热点的数据进行缓存,在频繁访问过程中可以通过缓存中的数据进行复用,从而提高针对数据处理任务中热点访问数据的访问处理效率。
具体地,任务特征信息包括语法信息或统计信息中的至少一项,服务器可以基于语法信息或统计信息中的至少一项,对数据处理任务进行访问热点检测,具体可以统计是否存在一张或多张历史上访问频繁的热点数据,得到检测结果。在检测结果表示数据处理任务存在目标访问热点,即在执行数据处理任务时需要频繁访问目标访问热点,针对目标访问热点的访问频率达到一定阈值,服务器可以根据目标访问热点生成热点缓存参数。具体可以由服务器获取目标访问热点的热点信息,如可以包括目标访问热点的数据名称、数据编号、数据路径等,以根据目标访问热点的热点信息生成热点缓存参数,服务器根据热点缓存参数得到数据处理任务的计算参数集合。服务器通过将包括热点缓存参数的计算参数集合发送至目标计算引擎,以指示目标计算引擎在执行数据处理任务的过程中,将目标访问热点的数据进行缓存复用。
本实施例中,服务器根据语法信息或统计信息中的至少一项,针对数据处理任务进行访问热点检测,在检测结果表示数据处理任务存在目标访问热点时,服务器根据目标访问热点生成热点缓存参数,并根据热点缓存参数得到数据处理任务的计算参数集合,以通过热点缓存参数指示目标计算引擎在执行数据处理任务的过程中,将目标访问热点的数据进行缓存复用,可以提高针对数据处理任务中热点访问数据的访问处理效率,从而提高数据处理任务的执行效率。
在一个实施例中,任务特征信息包括基于历史负载的任务优化策略进行特征分析得到的统计信息;基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合,包括:从统计信息中提取得到数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项;根据数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项,生成数据混洗参数;根据数据混洗参数得到数据处理任务的计算参数集合;数据混洗参数,用于指示目标计算引擎按照数据混洗参数确定的数据混洗方式执行数据处理任务。
其中,数据混洗(Shuffle)是在执行数据处理任务过程中,对筛选分类的数据进行移动并合并的处理。具体地,在执行数据处理任务过程中,基于MapReduce实现时,存在Map(筛选分类)、Shuffle和Reduce(数据合并)三个阶段。其中,Map阶段,是进行的针对一小块数据的计算过程,具体按照给定的方法进行筛选分类;Shuffle 阶段,是在Map阶段的基础上,进行数据移动,为后续的Reduce阶段做准备,即Map阶段将几个小块数据分类完成后,Shuffle将同类型的数据进行合并;Reduce阶段,是对移动后的数据进行处理,具体可以是对Shuffle得到的合并后的数据进行求和得到输出。
数据混洗结果信息可以包括每条历史记录对应的Shuffle信息,包括各个阶段的Shuffle输入或输出数据量和失败重试次数,还可以包括历史SQL语句是否失败的记录信息。任务输出结果是指执行数据处理任务的结果。数据混洗比例是指启用目标Shuffle方式进行数据混洗的占比,如可以包括启用RSS(Remote Shuffle Service,远程数据混洗服务)的占比。数据混洗参数用于指示目标计算引擎按照数据混洗参数的数据混洗方式执行数据处理任务,具体可以包括远程Shuffle方式或本地Shuffle方式等数据混洗方式。
具体地,任务特征信息包括基于历史负载的任务优化策略进行特征分析得到的统计信息,服务器从统计信息中提取得到数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项。服务器根据数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项,生成数据混洗参数。在具体实现时,服务器可以根据数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项,基于Shuffle结果分析、多因子融合、随机增幅或正负反馈中的至少一种方式,生成数据混洗参数,服务器根据数据混洗参数得到数据处理任务的计算参数集合。服务器将包括数据混洗参数的计算参数集合发送至目标计算引擎,以指示目标计算引擎按照数据混洗参数确定的数据混洗方式执行数据处理任务,如按照数据混洗参数确定的RSS数据混洗方式执行数据处理任务。
本实施例中,服务器根据从统计信息中提取得到数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项,生成数据混洗参数,并根据数据混洗参数得到数据处理任务的计算参数集合,以通过数据混洗参数指示目标计算引擎按照数据混洗参数确定的数据混洗方式执行数据处理任务,可以灵活配置数据混洗方式,有利于提高数据处理任务的执行效率。
在一个实施例中,通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息,包括以下至少一项:通过基于规则的任务优化策略针对数据处理任务进行特征分析,得到语法信息,并根据语法信息获得数据处理任务的任务特征信息;通过基于代价的任务优化策略针对数据处理任务进行特征分析,得到代价信息,并根据代价信息获得数据处理任务的任务特征信息;通过基于历史负载的任务优化策略针对数据处理任务进行特征分析,得到统计信息,并根据统计信息获得数据处理任务的任务特征信息。
其中,基于规则的任务优化策略是利用预设规则对数据处理任务的执行计划进行优化的策略;基于代价的任务优化策略是利用执行数据处理任务时的代价估计结果对执行计划进行优化的策略;基于历史负载的任务优化策略是利用历史流水负载的执行状态、响应时间、资源消耗量等统计信息,针对数据处理任务的执行计划进行优化的策略。
具体地,预设的任务优化策略可以包括基于规则的任务优化策略、基于代价的任务优化策略或基于历史负载的任务优化策略中的至少一种,服务器基于预设的任务优化策略对数据处理任务进行特征分析,可以获得语法信息、代价信息或统计信息中的至少一种,服务器根据语法信息、代价信息或统计信息中的至少一种得到数据处理任务的任务特征信息。
本实施例中,服务器根据基于规则的任务优化策略、基于代价的任务优化策略或基于历史负载的任务优化策略中的至少一种,对数据处理任务进行特征分析,可以获得语法信息、代价信息或统计信息中的至少一种,从而利用语法信息、代价信息或统计信息中的至少一种对数据处理任务进行参数自适应配置,可以基于不同维度的任务特征信息进行参数自适应配置得到,从而能够基于数据处理任务的任务特征信息进行针对性的计算参数配置,确保计算参数配置的准确性,可以减少数据处理执行失败的情况,从而提高数据处理的执行效率。
本申请还提供一种应用场景,该应用场景应用上述的数据处理控制方法。具体地,该数据处理控制方法在该应用场景的应用如下:
基于计算引擎对不同类型数据源中的数据做分布式的联合分析,解决了数据量级、安全、访问模式等原因导致的、无法搬迁所有数据至统一的数据仓库集中存储与分析的问题,使能了数据价值的充分挖掘与便捷利用。目前,统一大数据自适应计算平台,如SuperSQL支持对接Spark/Presto/Hive/StarRocks等多种计算引擎和Hive/MySQL/PostgreSQL/ClickHouse等多类数据源,其基于内部的RBO/CBO/HBO框架,能够智能地为不同用户SQL语句实时挑选最合适的计算引擎类型或实例来提效执行。
其中,SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,SQL语句就是对数据库进行操作的一种语言。数据源是一种存储和处理数据的系统,例如传统的关系型数据库MySQL、PostgreSQL、ClickHouse等,或者大数据NoSQL系统Hive、HBase、Elasticsearch等。计算引擎是一种分布式计算系统,支持通过定制的连接器访问不同类型的数据源,汇聚数据执行联合分析。联合分析是指结合不同数据源里的异构数据做统一的数据分析,又叫联邦查询。计算提效是指跨引擎系统智能地为不同的用户计算任务(如SQL语句)选择合适的计算引擎来执行,以达到自动提升任务的执行效率的目的,具体如缩短执行时间、增强执行可靠性等。计算参数是计算引擎执行某个用户计算任务时,配套采用的若干系统参数,例如资源参数(核数、内存使用量等)、控制参数(超时间隔、失效重试等)、算法参数(是否使用broadcast join、是否支持类型隐式转换、结果是否压缩等),等等。
进一步地,Spark是一种大数据分布式计算引擎,Spark发展至今已经成为业界大数据离线处理的事实标准;Spark SQL是Spark生态圈的重要组件,为用户提供结构化数据处理和SQL查询分析的功能;Hive既是一类数据源,其数据存储在HDFS(HadoopDistributed File System,分布式文件系统)上,又是一类基于MapReduce框架的分布式计算引擎;Presto是基于内存的MPP(Massively Parallel Processing,大规模并行处理)分布式SQL执行引擎;StarRocks是数据湖场景下的极速MPP OLAP(On-LineAnalyticalProcessing,联机分析处理)计算引擎。
现有业界大数据计算引擎(Spark、Presto等)执行用户SQL等计算任务时,默认需要基于一个引擎系统内置的参数集合(如Spark executor核数默认4,Presto单节点最大内存数默认16GB等)来调度处理,同时支持开发人员手动修改这些计算参数(SET命令)以调优任务。然而,用户SQL的业务特征与访问的数据分布状态复杂多变,引擎默认参数集即使经过专家配置优化,也难以覆盖支撑所有业务场景,无法做到单一默认参数集适用于所有计算任务;另一方面,大部分SQL用户并非大数据技术人员,不了解如何自行定制优化计算参数,从而导致很多SQL任务执行失败或效率不高,如资源浪费、响应速度慢等,需要咨询专业技术人员进行定制参数优化后,才能成功或高效执行,也占用了大数据平台的开发和运维人力。
对于统一的大数据计算提效平台,需要在其当前智能选择计算引擎的架构基础之上,进一步融合提供自适应计算参数调整的功能,并以通用的跨引擎框架的形式完成设计实现,不绑定耦合特定类型的计算引擎,使能用户透明的全链路计算任务优化。本实施例中,以SQL语句作为计算任务的样例,假设各类计算引擎与数据源都提供基于JDBC(JavaDatabase Connectivity,Java数据库连接)/ODBC(Open DatabaseConnectivity,开放数据库连接)协议的SQL接口,但支持的SQL语法可以各不相同。本实施例提供的数据处理控制方法,可以直接扩展应用到其它类型的跨数据源计算任务,例如REST(RepresentationalState Transfer,代表状态转移) API调用、代码块或脚本等。
在业内,往往涉及单个计算引擎内,聚焦某个具体技术点的自动参数调整,即仅针对性地解决特定的某类计算引擎中的某个具体的问题点,或者聚焦于各个引擎内部的垂直优化,不利于整体解决方案的集成与后续的扩展。而本实施例中,以统一大数据自适应计算平台为系统实施例,提供了一种融合当前用户SQL的语法特征(RBO)、数据分布与读写量估算(CBO)、历史相似负载的执行状态(HBO)等信息的一体化、跨引擎 、通用的自适应计算参数框架,智能地为当前用户SQL设置或调整对应的计算引擎参数,用户透明不感知,以进一步强化提升SQL执行的成功率、降低响应时间与节省资源使用,即增强统一大数据自适应计算平台的计算提效效果。本实施例提供的数据处理控制方法,涉及通用、引擎解耦的自适应计算参数框架,包括:失败优化,典型实施例为失败率高的SQL任务自动调参,覆盖执行前参数预测、执行中动态调整和执行后正负反馈等SQL执行的全生命周期中的各个阶段;传输优化,典型实施例为节省SQL执行过程中的网络传输开销和控制网络超时阈值;存储优化,典型实施例为智能决策查询结果的保存方式,如jdbc resultset(结果集)或HDFS文件,以及引擎热点表/分区/列的自动缓存推荐;shuffle优化,典型实施例为自动添加参数调用Remote Shuffle Service(RSS)进行SQL执行,智能提升海量Shuffle 的SQL任务在计算引擎执行时的成功率,同时避免专有资源过载。
本实施例提供的数据处理控制方法可以应用于统一大数据自适应计算平台上,构建的一体化、跨引擎的参数自适应功能框架默认开启,也可以通过系统参数来关闭。例如,可以通过指令“set `supersql.param.adaptive` = false;”来作为框架的系统全局开关。进一步地,还支持设置开启或关闭某类计算引擎对应的参数自适应功能,如通过指令“set`supersql.param.adaptive.livy` = true;”开启Livy(Spark3)引擎的参数自适应,优先级高于全局参数;通过指令“set `supersql.param.adaptive.presto` = false;”关闭Presto引擎的参数自适应。对于统一大数据自适应计算平台的各个子特性,也设置各自对应的局部开关参数,且其优先级高于全局开关的优先级。例如,可以通过指令“set`supersql.param.failover.adaptive` = true;”开启失败SQL参数自适应;通过指令“set `supersql.param.comm.adaptive` = false;”关闭传输参数自适应;通过指令“set `supersql.param.store.adaptive`= true;”开启存储参数自适应;通过指令“set `supersql.param.rss.adaptive` = false;”关闭RSS参数自适应。在实际应用中,以上的参数值,默认都是TRUE,即开启参数自适应。在产品侧,统一大数据自适应计算平台上线前,管理或运维人员只需要将这些参数在系统配置文件中设置即可,不需要用户做任何操作。产品侧可以提供UI组件,如按钮,使能用户灵活开启/关闭参数自适应的各项功能。
本实施例提供的数据处理控制方法应用于统一大数据自适应计算平台,其跨计算引擎的参数自适应框架是其计算提效功能新增的一个核心功能模块,其设计实现可以包括四个子模块,分别为失败优化模块、传输优化模块、存储优化模块和Shuffle优化模块(数据混洗优化模块)。此外,还可以根据业务场景和需求的演进,在框架中灵活扩展添加新的功能特性或子模块。具体地,整体框架如图5所示,参数自适应框架构建在统一大数据自适应计算平台核心的查询优化器(Planner)之上,查询优化器具体包括RBO/CBO/HBO等SQL优化器;参数自适应模块包括失败优化模块、传输优化模块、存储优化模块和数据混洗优化模块。其中,失败优化模块实现语句(SQL)执行前预设、语句(SQL)执行中调整以及语句(SQL)执行后反馈的处理;传输优化模块实现依赖包精简和超时控制处理;存储优化模块实现智能存储(HDFS)写入和热表/分区/列缓存的处理;数据混洗(Shuffle)优化模块用于实现自动远程数据混洗的处理,即实现自动RSS处理。
具体地,参数自适应模块调用RBO获取当前用户SQL访问的表集、各语法子句涉及的列集/函数集、规则变换各阶段的物理计划树数据结构等语法信息;调用CBO获取表/分区数据分布和量级、各SQL算子的读写数据量估算等代价信息;调用HBO获取与用户SQL相似的历史流水负载的执行状态、响应时间、资源消耗量等统计信息;然后融合这些信息为当前计算提效已选择的某类型的引擎实例,决策确定最后其执行SQL时所使用的优化计算参数集合。基于不同的实施例,计算参数自适应调整的流程,也可在引擎类型或实例选择过程的之前或中间进行;不同模块的决策结果也可以综合加权,输出全局最优的计算提效结果。
进一步地,对于失效SQL参数自适应处理,其目的是降低因为不匹配或不合适的计算参数设置所导致的引擎SQL执行失败的数目。具体地,对于执行前预测,首先在当前用户SQL提交计算引擎执行前,通过外部统一元数据服务提供的HBO流水记录检索API,获取与该SQL类似的、最近某个区间,如一周时间内的历史负载信息。统一大数据自适应计算平台的参数自适应框架划分这些历史SQL记录中的成功与失败子集,同时统计对应的子集的资源使用量(CPU、内存、磁盘等)、Stage (阶段)输入输出数据量、常见失败异常类型与文本等信息,最终将分析汇总后的信息,映射到元数据的专家经验配置库中固化的N=0~2个初始化参数集(人工先验知识)。如果N = 0表示初始化参数集不存在(即为空无需设置),N=2表示除了所选的初始化参数集外,另一个参数集将被暂时记录以作备用。备选参数集通常是配置使用更多资源,但历史推算得出的当前SQL执行成功概率更高。计算引擎的类型不同,对应的初始化参数集也不同。
如图6所示,自适应计算平台通过统一元数据中的代表状态转移接口(REST API)、集群负载、历史负载优化(HBO)流水记录以及经验配置库针对失效SQL参数自适应处理提供数据支持,获得统计信息。对于输入的用户查询语句,具体可以为用户SQL,针对进行查询语句(SQL)执行前预测,通过异常/数据量分析、成功/失败样例分析等处理,确定初始化参数集,通过SET命令进行执行前提交,并确定备选参数集;触发查询语句执行中进行失效转移(failover);若引擎执行失败,获取实时集群资源,确定动态调整参数集,并基于动态调整参数集进行重试执行,同时执行中间状态记录;执行查询语句执行后反馈处理,向用户提示自适应计算参数,由用户触发交互操作,得到用户修改参数集。
具体应用中,对Spark引擎增大计算任务内存配置的参数集样例可以为:
set spark.driver.memory = 8g; //增大驱动器内存
set spark.executor.memory = 8g; //增大执行器内存
而对于Hive MapReduce引擎增大内存配置的参数集样例可以为:
set mapreduce.map.memory.mb = 8192; //增大 map映射任务内存
set mapreduce.reduce.memory.mb = 8192; // 增大reduce规约任务内存
set yarn.app.mapreduce.am.resource.mb = 8192; //增大应用管理器内存
执行前预测的目的是通过历史流水分析推断当前用户SQL对应的合适的初始化参数集,避免使用引擎默认参数集导致的潜在SQL失败,引起资源无效浪费或用户体验下降。
对于执行中重试,如果使用初始化参数集计算引擎执行用户SQL失败,自适应计算平台可以实时分析引擎返回的异常信息,结合经验配置库映射、引擎实例集群当前的资源负载(通过统一元数据API获取)和备选参数集的可用情况,决策是否基于备选参数集的设置,自动重跑当前SQL(failover)。SQL重试执行的过程可以是对用户透明的,但自适应计算平台可以记录相关的中间状态信息到其历史SQL流水中,以供后续SQL的执行前预测使用。如果重试执行依然失败或者决策无法重试,则自适应计算平台不会进一步自动尝试failover,SQL执行失败的异常信息可以通过API、日志等途径返回给用户。
对于执行后反馈,一条用户SQL如果经过了参数自适应框架的智能参数调整设置,不管最终其执行结果是成功还是失败,自适应计算平台都将把对应使用的优化参数集通过日志高亮等UI(User Interface,用户界面)方式,明确列出并提示给用户知晓。另一方面,自适应计算平台允许用户通过各种UI交互操作,例如编辑参数值、新增/删除参数、有用/无用点选等等,提供对应的正负反馈信息。用户可以基于其修改后的参数集,手动指示自适应计算平台重跑失败的SQL。用户提供反馈后修改生成的新参数集,也会同步到元数据的历史流水和经验配置库支撑后续优化。自适应计算平台失效SQL参数自适应的功能特性,可以覆盖OOM(Out of Memory,内存溢出)、海量Shuffle、特殊存储格式访问、数据压缩等多类常见的大数据计算失败异常。如图7所示,在一个实施例中某天失效SQL参数自适应执行中动态调参后failover(失效转移)成功的SQL的主要异常类型分布与占比。其中,驱动内存溢出(DRIVE_OOM)占比22%,数据混洗过大(SHUFFLE_LARGE)占比2%,执行器内存溢出(EXEC_OOM)占比8%,广播超时(BROADCAST_TIMEOUT)占比4%,压缩异常(LZO)占比2%,内存溢出(OOM)占比25%,结构存储格式异常(PB_STRUCT)占比37%。
进一步地,对于传输参数自适应的处理,以下通过一个典型的实施例(业务场景)来说明自适应计算平台传输参数自适应的功能。自适应计算平台调用外部计算引擎(如Spark)执行跨异构数据源的联邦查询(如MySQL Join ClickHouse Join Hive)时,需要将各类数据源对应的JDBC驱动包作为参数,在执行SQL前传递给计算引擎。引擎会将这些驱动包随当前SQL任务分发到其所有的分布式计算节点上(如Spark executor或Prestoworker),否则各节点在分布式执行联邦查询时,可能因为找不到某类数据源的驱动创建JDBC连接失败而报错。更具体地,自适应计算平台传递给Spark引擎的数据源驱动包参数如下,
set spark.yarn.dist.archives=
hdfs://xxx/user/xx/supersql-drivers/supersql-drivers-full.zip;
//配置数据源驱动包参数的地址
其中,参数值为HDFS路径,Spark默认支持zip/jar等文件格式,zip包里面包含了自适应计算平台支持的所有类型、所有版本的数据源驱动jar,放置在不同的子目录中彼此隔离。然而,一条用户SQL可能只访问少数几种类型或几个版本的数据源,而默认参数设置每次都传递给了计算引擎一个驱动全集包,其大小约1GB。全集包中的许多子目录其实是当前用户SQL不需的,导致了全集包在引擎跨节点传输过程中的可观网络流量浪费。如图8所示,在一个具体某天执行的跨源联邦查询SQL数和数据源分类,即用户SQL仅集中访问少数的几种数据源类型,具体包括5种数据源类型,分别为数据源类型1(CLICKHOUSE)、数据源类型2(HIVE)、数据源类型3(MYSQL)、数据源类型4(POSTGRESQL)和数据源类型5(TDW)。
基于此,本实施例中,首先进行数据源类型判定,具体遍历当前用户SQL的物理计划树中所有的表Scan节点,记录对应的数据源类型;其中,物理计划树由RBO解析校验生成;再进行依赖包精简处理,具体动态精准生成或从已生成的文件中挑选包含当前SQL所需最小驱动包集的zip文件,上传HDFS并通过动态参数传递给计算引擎。在一具体实施例中,基于依赖包精准传输可以日均减少计算引擎侧大约30TB的无效网络开销。例如,当前用户SQL仅访问了Mysql和Clickhouse数据源,则Spark引擎收到的自适应参数值如下:
set spark.yarn.dist.archives = hdfs://xxx/user/xx/supersql-drivers/supersql-drivers-mysqlck.zip; //配置Mysql和Clickhouse的zip驱动包
进一步地,对于存储参数自适应处理,包括智能结果保存和智能热点缓存。其中,对于智能结果保存,当用户SQL需要返回的结果集量级很大时,例如上亿条记录,客户端程序通过自适应计算平台JDBC ResultSet分批获取查询结果数据的效率较低、耗时较长,此时先将结果集调用计算引擎转存写入HDFS文件,再提示客户端去并发下载,是更高效可靠的选择。另一方面,用户SQL的结果数据量很小时,例如数十条记录,直接JDBC Resultset返回的效率更高,将结果保存到HDFS反而延长了SQL响应时间和增加了写入资源开销。自适应计算平台可以基于RBO/CBO预测每条用户SQL的输出结果大小如可以预测行数或字节数。如果预测结果超过系统定义的某个阈值,例如2000行或500MB,则自动设置计算引擎参数,将查询结果保存到某个HDFS路径,然后通过日志等机制告知用户或客户端程序这一操作。如果查询结果大小无法预测或预测结果低于系统阈值,则保持JDBC ResultSet方式返回的方式不变。
对于智能热点缓存,自适应计算平台计算引擎(例如Presto)通常会缓存(如通过Alluxio)用户热点库表,以加速查询或提升稳定性,如避免HDFS震荡导致读取数据时间延长。通常缓存的库表或对应的HDFS路径都是由用户或开发运维人员通过白名单手动指定或变更的,灵活性较差。自适应计算平台可以基于RBO SQL解析和HBO流水统计,实时判断当前用户SQL中访问的数据源表集合中,是否存在一张或多张历史上访问频繁的“热表”。若存在,自适应计算平台通过参数将热表子集发给计算引擎,建议引擎执行SQL过程中将拉取的相关热表数据自动加入缓存,以便后续高效重用。如图9所示,自适应计算平台热表推荐通过JDBC连接属性中的客户端标签ClientTags参数传递给了Presto计算引擎。自适应计算平台同理可以判定当前SQL访问的热点分区或列,然后建议计算引擎缓存更细粒度级别的数据。
进一步地,对于Shuffle参数自适应,RSS提升了现网Spark作业的Shuffle稳定性,有效解决了本地磁盘Shuffle海量写满、写放大和随机IO的问题,同时支持在线集群的部署,提升了资源利用率。自适应计算平台可以支持用户手动设置开关参数,具体可以通过指令“set `supersql.spark.rss.enabled` = true;”一键启用RSS,而默认关闭。具体地,自适应计算平台通过JDBC连接Livy(Spark3)或Thive Server(Spark2)计算引擎时,如果通过上述开关启用了RSS,则自适应计算平台将下发用户SQL + RSS启用配置参数集,包括ShuffleManager类名、集群quorum地址、Spark DA开关等,通知计算引擎基于RSS而不是本地Shuffle来执行Spark计算任务。Livy/Thive转发配置参数集给对应创建的Spark 3.x/2.x session,启用RSS。RSS默认关闭,即Spark3/Spark2默认都是使用本地磁盘Shuffle。进一步地,此处自适应计算平台RSS开关,上述RSS参数自适应开关并非是同一个自适应计算平台参数。前者指示自适应计算平台无需参数自适应,直接启用计算引擎Spark任务的RSS功能;而后者指示自适应计算平台需要参数自适应,系统智能决策是否启用RSS,对用户透明。
如图10所示,自适应计算平台可以通过数据库连接(JDBC)方式分别与第一计算引擎Livy(Spark3)和第二计算引擎Thive(Spark2)连接,第一计算引擎Livy(Spark3)和第二计算引擎Thive(Spark2)均可以通过远程数据混洗服务(RSS)启用参数,启动远程数据混洗服务(RSS),实现数据混洗读写(Shuffle读写)。
上述让用户手动自行选择启用RSS的功能,存在技术门槛高的问题,即用户不知哪些Spark计算任务需要或适合使用RSS,或者反过来说哪些不合适。用户甚至不知道当前SQL用哪类计算引擎来执行更高效,是Spark (+ RSS)还是Presto(无RSS);存在非精准利用的问题,即不可能所有计算任务都默认提交RSS,远程服务负载高有崩溃或宝贵资源滥用的风险;存在资源浪费的问题,即SQL执行失败后再添加RSS参数重试(failover)的话,已经浪费了SQL的执行时间和计算资源,最好的做法是在SQL执行前预测是否合适启用RSS。
基于此,本实施例中,通过历史检索处理,具体基于当前用户SQL生成的HBO查询签名,获取统一元数据中保存的最近历史区间内的流水记录集合,过滤执行引擎类型不是对应目标引擎(如Spark)的子集。通过Shuffle分析处理,具体检测每条历史记录对应的Shuffle信息,包括各个stage的Shuffle输入/输出数据量和失败重试次数,同时记录历史SQL是否失败。通过多因子融合处理,具体对每条成功执行的历史记录,计算数据量和重试次数的累加值是否超过系统定义的RSS阈值(如1TB和30),如超过则标记为RSS候选。对每条执行失败的历史记录,也标记其为RSS候选。如果历史记录集中标记的RSS候选与非候选的比例,超过了一个系统定义的阈值(如0.5),则表示当前SQL适合用RSS来执行,自适应计算平台将自动开启RSS开关,否则不使用RSS。通过随机增幅处理,具体地,如果自适应计算平台 RSS参数自适应的算法流程,发现最近一段时间内(如1天),算法决策启用RSS的SQL实例数很少,当前比例(启用数/总数)低于某个系统阈值(如0.1),则算法会基于一个随机概率为当前用户SQL启用RSS,即便当前SQL检测后不满足上面的启用条件。此随机启用的目的是确保RSS执行的SQL数保持相对稳定不会过低,确保RSS计算资源的一定利用率。通过正负反馈处理,具体地,当最近一段时间内自适应计算平台 RSS参数自适应算法的输出正例(即启用RSS)很少时,在随机增幅的同时,也会按比例降低系统RSS阈值的大小,如数据量阈值降为500GB、300GB、100GB等;重试次数阈值降为20、10、5等,目的同样是为了能让更多的用户SQL有机会启用RSS。另一方面,当算法输出正例越来越多时,RSS阈值的大小就会按比例回升,确保启用RSS的SQL数不至于过多。在一个具体应用中,日均通过参数自适应启用的RSSSQL数约1.2w条,RSS侧Shuffle数据总量约为日均600TB。
如图11所示,在基于历史负载优化(HBO)的RSS处理中,支持Thive/Livy/Spark2.x/3.x等类型的计算引擎,具体基于毫秒级的统一元数据提供历史记录检索的支持,通过查询签名、参数(区间、阈值等)处理进行历史记录检索,获得输入数据值、重试数等阈值;通过输入数据值、重试数等阈值进行数据混洗(Shuffle)信息过滤;通过失败率统计进行多因子融合分析;通过正负例统计进行随机概率增幅处理,最终综合进行提效决策,即自适应配置是否开启RSS进行计算处理。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理控制方法的数据处理控制装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理控制装置实施例中的具体限定可以参见上文中对于数据处理控制方法的限定,在此不再赘述。
在一个实施例中,如图12所示,提供了一种数据处理控制装置1200,包括:数据处理任务获取模块1202、任务特征信息获取模块1204、参数自适应配置模块1206和任务执行控制模块1208,其中:
数据处理任务获取模块1202,用于获取待执行的数据处理任务;
任务特征信息获取模块1204,用于通过任务优化策略针对数据处理任务进行特征分析,获得数据处理任务的任务特征信息;
参数自适应配置模块1206,用于基于任务特征信息对数据处理任务进行参数自适应配置,得到数据处理任务的计算参数集合;
任务执行控制模块1208,用于向目标计算引擎发送计算参数集合和数据处理任务;计算参数集合,用于指示目标计算引擎按照计算参数集合中的自适应计算参数执行数据处理任务。
在一个实施例中,任务特征信息包括基于历史负载的任务优化策略进行特征分析得到的统计信息;参数自适应配置模块1206,还用于确定针对数据处理任务的目标计算引擎;获取目标计算引擎关联的参数集合配置库;基于统计信息从参数集合配置库中获得数据处理任务的计算参数集合。
在一个实施例中,参数自适应配置模块1206,还用于将统计信息在参数集合配置库中进行参数集合映射,得到参数集合映射结果;当参数集合映射结果表示参数集合配置库中存在目标参数集合,根据参数集合映射结果,从参数集合配置库中获得数据处理任务的计算参数集合。
在一个实施例中,还包括执行重试模块,用于当从目标计算引擎获得数据处理任务的执行异常信息,获取目标计算引擎的资源负载信息;根据异常信息、资源负载信息、统计信息和参数集合配置库,对数据处理任务进行参数集合更新,获得更新参数集合;向目标计算引擎发送更新参数集合;更新参数集合,用于指示目标计算引擎按照更新参数集合中的自适应计算参数执行数据处理任务。
在一个实施例中,计算参数集合中包括备选参数集合;执行重试模块,还用于根据异常信息、资源负载信息、统计信息、参数集合配置库和备选参数集合的参数集合状态,对备选参数集合进行配置决策,得到配置决策结果;当配置决策结果表示通过备选参数集合执行数据处理任务,根据备选参数集合得到更新参数集合。
在一个实施例中,还包括反馈获取模块,用于根据计算参数集合生成数据处理任务的任务执行记录;将任务执行记录发送至发出数据处理任务的终端;任务执行记录,用于指示终端针对任务执行记录发送参数集合反馈信息。
在一个实施例中,任务特征信息包括基于规则的任务优化策略进行特征分析得到的语法信息;参数自适应配置模块1206,还用于根据语法信息中的扫描节点,确定数据处理任务的数据源类型;获取数据源类型关联的自适应驱动包;基于自适应驱动包得到数据处理任务的计算参数集合。
在一个实施例中,任务特征信息包括基于规则的任务优化策略进行特征分析得到的语法信息,或基于代价的任务优化策略进行特征分析得到的代价信息中的至少一项;参数自适应配置模块1206,还用于根据语法信息或代价信息中的至少一项,对数据处理任务的任务输出结果的数据量大小进行预测,得到预测结果;根据预测结果确定针对数据处理任务的自适应存储参数;基于自适应存储参数得到数据处理任务的计算参数集合。
在一个实施例中,参数自适应配置模块1206,还用于当预测结果表示任务输出结果的数据量大于输出存储阈值,根据用于存储任务输出结果的目标存储空间的存储空间信息得到自适应存储参数,并将存储空间信息发送至发出数据处理任务的终端。
在一个实施例中,参数自适应配置模块1206,还用于当预测结果表示任务输出结果的数据量不大于输出存储阈值、或预测结果为空,确定自适应存储参数包括直接返回存储方式;直接返回存储方式,是将任务输出结果发送至发出数据处理任务的终端的输出结果存储方式。
在一个实施例中,任务特征信息包括基于规则的任务优化策略进行特征分析得到的语法信息,或基于历史负载的任务优化策略进行特征分析得到的统计信息中的至少一项;参数自适应配置模块1206,还用于根据语法信息或统计信息中的至少一项,针对数据处理任务进行访问热点检测,得到检测结果;当检测结果表示数据处理任务存在目标访问热点,根据目标访问热点生成热点缓存参数;根据热点缓存参数得到数据处理任务的计算参数集合;热点缓存参数,用于指示目标计算引擎在执行数据处理任务的过程中,将目标访问热点的数据进行缓存复用。
在一个实施例中,任务特征信息包括基于历史负载的任务优化策略进行特征分析得到的统计信息;参数自适应配置模块1206,还用于从统计信息中提取得到数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项;根据数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项,生成数据混洗参数;根据数据混洗参数得到数据处理任务的计算参数集合;数据混洗参数,用于指示目标计算引擎按照数据混洗参数确定的数据混洗方式执行数据处理任务。
在一个实施例中,任务特征信息获取模块1204,还用于通过基于规则的任务优化策略针对数据处理任务进行特征分析,得到语法信息,并根据语法信息获得数据处理任务的任务特征信息。
在一个实施例中,任务特征信息获取模块1204,还用于通过基于代价的任务优化策略针对数据处理任务进行特征分析,得到代价信息,并根据代价信息获得数据处理任务的任务特征信息。
在一个实施例中,任务特征信息获取模块1204,还用于通过基于历史负载的任务优化策略针对数据处理任务进行特征分析,得到统计信息,并根据统计信息获得数据处理任务的任务特征信息。
上述数据处理控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据处理控制数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理控制方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (24)
1.一种数据处理控制方法,其特征在于,所述方法包括:
获取待执行的数据处理任务;
通过任务优化策略针对所述数据处理任务进行特征分析,获得所述数据处理任务的任务特征信息;所述任务特征信息包括基于历史负载的任务优化策略进行特征分析得到的统计信息;
从所述统计信息中提取得到数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项;
根据所述数据混洗结果信息、所述任务输出结果或所述数据混洗比例中的至少一项,生成数据混洗参数;
根据所述数据混洗参数得到所述数据处理任务的计算参数集合;所述数据混洗参数,用于指示目标计算引擎按照所述数据混洗参数确定的数据混洗方式执行所述数据处理任务;
向目标计算引擎发送所述计算参数集合和所述数据处理任务;所述计算参数集合,用于指示所述目标计算引擎按照所述计算参数集合中的自适应计算参数执行所述数据处理任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定针对所述数据处理任务的目标计算引擎;
获取所述目标计算引擎关联的参数集合配置库;
基于所述统计信息从所述参数集合配置库中获得所述数据处理任务的计算参数集合。
3.根据权利要求2所述的方法,其特征在于,所述基于所述统计信息从所述参数集合配置库中获得所述数据处理任务的计算参数集合,包括:
将所述统计信息在所述参数集合配置库中进行参数集合映射,得到参数集合映射结果;
当所述参数集合映射结果表示所述参数集合配置库中存在目标参数集合,根据所述参数集合映射结果,从所述参数集合配置库中获得所述数据处理任务的计算参数集合。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当从所述目标计算引擎获得所述数据处理任务的执行异常信息,获取所述目标计算引擎的资源负载信息;
根据所述异常信息、所述资源负载信息、所述统计信息和所述参数集合配置库,对所述数据处理任务进行参数集合更新,获得更新参数集合;
向所述目标计算引擎发送所述更新参数集合;所述更新参数集合,用于指示所述目标计算引擎按照所述更新参数集合中的自适应计算参数执行所述数据处理任务。
5.根据权利要求4所述的方法,其特征在于,所述计算参数集合中包括备选参数集合;所述根据所述异常信息、所述资源负载信息、所述统计信息和所述参数集合配置库,对所述数据处理任务进行参数集合更新,获得更新参数集合,包括:
根据所述异常信息、所述资源负载信息、所述统计信息、所述参数集合配置库和所述备选参数集合的参数集合状态,对所述备选参数集合进行配置决策,得到配置决策结果;
当所述配置决策结果表示通过所述备选参数集合执行所述数据处理任务,根据所述备选参数集合得到更新参数集合。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述计算参数集合生成所述数据处理任务的任务执行记录;
将所述任务执行记录发送至发出所述数据处理任务的终端;所述任务执行记录,用于指示所述终端针对所述任务执行记录发送参数集合反馈信息。
7.根据权利要求1所述的方法,其特征在于,所述任务特征信息还包括基于规则的任务优化策略进行特征分析得到的语法信息;所述方法还包括:
根据所述语法信息中的扫描节点,确定所述数据处理任务的数据源类型;
获取所述数据源类型关联的自适应驱动包;
基于所述自适应驱动包得到所述数据处理任务的计算参数集合。
8.根据权利要求1所述的方法,其特征在于,所述任务特征信息还包括基于规则的任务优化策略进行特征分析得到的语法信息,或基于代价的任务优化策略进行特征分析得到的代价信息中的至少一项;所述方法还包括:
根据所述语法信息或所述代价信息中的至少一项,对所述数据处理任务的任务输出结果的数据量大小进行预测,得到预测结果;
根据所述预测结果确定针对所述数据处理任务的自适应存储参数;
基于所述自适应存储参数得到所述数据处理任务的计算参数集合。
9.根据权利要求8所述的方法,其特征在于,所述根据所述预测结果确定针对所述数据处理任务的自适应存储参数,包括以下至少一项:
当所述预测结果表示所述任务输出结果的数据量大于输出存储阈值,根据用于存储所述任务输出结果的目标存储空间的存储空间信息得到自适应存储参数,并将所述存储空间信息发送至发出所述数据处理任务的终端;
当所述预测结果表示所述任务输出结果的数据量不大于输出存储阈值、或所述预测结果为空,确定自适应存储参数包括直接返回存储方式;所述直接返回存储方式,是将所述任务输出结果发送至发出所述数据处理任务的终端的输出结果存储方式。
10.根据权利要求1所述的方法,其特征在于,所述任务特征信息还包括基于规则的任务优化策略进行特征分析得到的语法信息;所述方法还包括:
根据所述语法信息或所述统计信息中的至少一项,针对所述数据处理任务进行访问热点检测,得到检测结果;
当所述检测结果表示所述数据处理任务存在目标访问热点,根据所述目标访问热点生成热点缓存参数;
根据所述热点缓存参数得到所述数据处理任务的计算参数集合;所述热点缓存参数,用于指示所述目标计算引擎在执行所述数据处理任务的过程中,将所述目标访问热点的数据进行缓存复用。
11.根据权利要求1至10任意一项所述的方法,其特征在于,所述通过任务优化策略针对所述数据处理任务进行特征分析,获得所述数据处理任务的任务特征信息,包括以下至少一项:
通过基于规则的任务优化策略针对所述数据处理任务进行特征分析,得到语法信息,并根据所述语法信息获得所述数据处理任务的任务特征信息;
通过基于代价的任务优化策略针对所述数据处理任务进行特征分析,得到代价信息,并根据所述代价信息获得所述数据处理任务的任务特征信息;
通过基于历史负载的任务优化策略针对所述数据处理任务进行特征分析,得到统计信息,并根据所述统计信息获得所述数据处理任务的任务特征信息。
12.一种数据处理控制装置,其特征在于,所述装置包括:
数据处理任务获取模块,用于获取待执行的数据处理任务;
任务特征信息获取模块,用于通过任务优化策略针对所述数据处理任务进行特征分析,获得所述数据处理任务的任务特征信息;所述任务特征信息包括基于历史负载的任务优化策略进行特征分析得到的统计信息;
参数自适应配置模块,用于从所述统计信息中提取得到数据混洗结果信息、任务输出结果或数据混洗比例中的至少一项;根据所述数据混洗结果信息、所述任务输出结果或所述数据混洗比例中的至少一项,生成数据混洗参数;根据所述数据混洗参数得到所述数据处理任务的计算参数集合;所述数据混洗参数,用于指示所述目标计算引擎按照所述数据混洗参数确定的数据混洗方式执行所述数据处理任务;
任务执行控制模块,用于向目标计算引擎发送所述计算参数集合和所述数据处理任务;所述计算参数集合,用于指示目标计算引擎按照所述计算参数集合中的自适应计算参数执行所述数据处理任务。
13.根据权利要求12所述的装置,其特征在于,
所述参数自适应配置模块,还用于确定针对所述数据处理任务的目标计算引擎;获取所述目标计算引擎关联的参数集合配置库;基于所述统计信息从所述参数集合配置库中获得所述数据处理任务的计算参数集合。
14.根据权利要求13所述的装置,其特征在于,
所述参数自适应配置模块,还用于将所述统计信息在所述参数集合配置库中进行参数集合映射,得到参数集合映射结果;当所述参数集合映射结果表示所述参数集合配置库中存在目标参数集合,根据所述参数集合映射结果,从所述参数集合配置库中获得所述数据处理任务的计算参数集合。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
执行重试模块,用于当从所述目标计算引擎获得所述数据处理任务的执行异常信息,获取所述目标计算引擎的资源负载信息;根据所述异常信息、所述资源负载信息、所述统计信息和所述参数集合配置库,对所述数据处理任务进行参数集合更新,获得更新参数集合;向所述目标计算引擎发送所述更新参数集合;所述更新参数集合,用于指示所述目标计算引擎按照所述更新参数集合中的自适应计算参数执行所述数据处理任务。
16.根据权利要求15所述的装置,其特征在于,所述计算参数集合中包括备选参数集合;
所述执行重试模块,还用于根据所述异常信息、所述资源负载信息、所述统计信息、所述参数集合配置库和所述备选参数集合的参数集合状态,对所述备选参数集合进行配置决策,得到配置决策结果;当所述配置决策结果表示通过所述备选参数集合执行所述数据处理任务,根据所述备选参数集合得到更新参数集合。
17.根据权利要求12所述的装置,其特征在于,所述装置还包括:
反馈获取模块,用于根据所述计算参数集合生成所述数据处理任务的任务执行记录;将所述任务执行记录发送至发出所述数据处理任务的终端;所述任务执行记录,用于指示所述终端针对所述任务执行记录发送参数集合反馈信息。
18.根据权利要求12所述的装置,其特征在于,所述任务特征信息还包括基于规则的任务优化策略进行特征分析得到的语法信息;
所述参数自适应配置模块,还用于根据所述语法信息中的扫描节点,确定所述数据处理任务的数据源类型;获取所述数据源类型关联的自适应驱动包;基于所述自适应驱动包得到所述数据处理任务的计算参数集合。
19.根据权利要求12所述的装置,其特征在于,所述任务特征信息还包括基于规则的任务优化策略进行特征分析得到的语法信息,或基于代价的任务优化策略进行特征分析得到的代价信息中的至少一项;
所述参数自适应配置模块,还用于根据所述语法信息或所述代价信息中的至少一项,对所述数据处理任务的任务输出结果的数据量大小进行预测,得到预测结果;根据所述预测结果确定针对所述数据处理任务的自适应存储参数;基于所述自适应存储参数得到所述数据处理任务的计算参数集合。
20.根据权利要求19所述的装置,其特征在于,所述参数自适应配置模块,还用于执行以下至少一项的步骤:
当所述预测结果表示所述任务输出结果的数据量大于输出存储阈值,根据用于存储所述任务输出结果的目标存储空间的存储空间信息得到自适应存储参数,并将所述存储空间信息发送至发出所述数据处理任务的终端;
当所述预测结果表示所述任务输出结果的数据量不大于输出存储阈值、或所述预测结果为空,确定自适应存储参数包括直接返回存储方式;所述直接返回存储方式,是将所述任务输出结果发送至发出所述数据处理任务的终端的输出结果存储方式。
21.根据权利要求12所述的装置,其特征在于,所述任务特征信息还包括基于规则的任务优化策略进行特征分析得到的语法信息;
所述参数自适应配置模块,还用于根据所述语法信息或所述统计信息中的至少一项,针对所述数据处理任务进行访问热点检测,得到检测结果;当所述检测结果表示所述数据处理任务存在目标访问热点,根据所述目标访问热点生成热点缓存参数;根据所述热点缓存参数得到所述数据处理任务的计算参数集合;所述热点缓存参数,用于指示所述目标计算引擎在执行所述数据处理任务的过程中,将所述目标访问热点的数据进行缓存复用。
22.根据权利要求12至21任意一项所述的装置,其特征在于,所述任务特征信息获取模块,还用于执行以下至少一项的步骤:
通过基于规则的任务优化策略针对所述数据处理任务进行特征分析,得到语法信息,并根据所述语法信息获得所述数据处理任务的任务特征信息;
通过基于代价的任务优化策略针对所述数据处理任务进行特征分析,得到代价信息,并根据所述代价信息获得所述数据处理任务的任务特征信息;
通过基于历史负载的任务优化策略针对所述数据处理任务进行特征分析,得到统计信息,并根据所述统计信息获得所述数据处理任务的任务特征信息。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310318538.6A CN116048817B (zh) | 2023-03-29 | 2023-03-29 | 数据处理控制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310318538.6A CN116048817B (zh) | 2023-03-29 | 2023-03-29 | 数据处理控制方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116048817A CN116048817A (zh) | 2023-05-02 |
CN116048817B true CN116048817B (zh) | 2023-06-27 |
Family
ID=86129785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310318538.6A Active CN116048817B (zh) | 2023-03-29 | 2023-03-29 | 数据处理控制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048817B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873691B (zh) * | 2024-03-13 | 2024-07-02 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
CN118069932B (zh) * | 2024-04-19 | 2024-08-06 | 腾讯科技(深圳)有限公司 | 配置信息的推荐方法、装置、计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704479A (zh) * | 2019-09-12 | 2020-01-17 | 新华三大数据技术有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN114003388A (zh) * | 2021-11-04 | 2022-02-01 | 中国工商银行股份有限公司 | 大数据计算引擎任务参数确定方法及装置 |
CN114237892A (zh) * | 2021-12-17 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 键值数据的处理方法、装置、电子设备及存储介质 |
CN115017186A (zh) * | 2022-04-21 | 2022-09-06 | 北京火山引擎科技有限公司 | 一种任务处理方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925375B2 (en) * | 2003-03-20 | 2005-08-02 | Detroit Diesel Corporation | System and method for determining a parameter set for an engine controller module |
CN111767092B (zh) * | 2020-06-30 | 2023-05-12 | 深圳前海微众银行股份有限公司 | 作业执行方法、装置、系统及计算机可读存储介质 |
CN112988782B (zh) * | 2021-02-18 | 2022-08-30 | 新华三大数据技术有限公司 | Hive支持交互式查询的方法、装置及存储介质 |
CN112860736A (zh) * | 2021-03-09 | 2021-05-28 | 深圳前海微众银行股份有限公司 | 大数据查询优化方法、设备及可读存储介质 |
CN113254472B (zh) * | 2021-06-17 | 2021-11-16 | 浙江大华技术股份有限公司 | 一种参数配置方法、装置、设备及可读存储介质 |
-
2023
- 2023-03-29 CN CN202310318538.6A patent/CN116048817B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704479A (zh) * | 2019-09-12 | 2020-01-17 | 新华三大数据技术有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN114003388A (zh) * | 2021-11-04 | 2022-02-01 | 中国工商银行股份有限公司 | 大数据计算引擎任务参数确定方法及装置 |
CN114237892A (zh) * | 2021-12-17 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 键值数据的处理方法、装置、电子设备及存储介质 |
CN115017186A (zh) * | 2022-04-21 | 2022-09-06 | 北京火山引擎科技有限公司 | 一种任务处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116048817A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941017B2 (en) | Event driven extract, transform, load (ETL) processing | |
US11194552B1 (en) | Assisted visual programming for iterative message processing system | |
US11615084B1 (en) | Unified data processing across streaming and indexed data sets | |
US10775976B1 (en) | Visual previews for programming an iterative publish-subscribe message processing system | |
US10776441B1 (en) | Visual programming for iterative publish-subscribe message processing system | |
US20230177085A1 (en) | Online artificial intelligence algorithm for a data intake and query system | |
US11238048B1 (en) | Guided creation interface for streaming data processing pipelines | |
US11663176B2 (en) | Data field extraction model training for a data intake and query system | |
CN116048817B (zh) | 数据处理控制方法、装置、计算机设备和存储介质 | |
US20220036177A1 (en) | Data field extraction by a data intake and query system | |
US10169433B2 (en) | Systems and methods for an SQL-driven distributed operating system | |
US11704490B2 (en) | Log sourcetype inference model training for a data intake and query system | |
US10169715B2 (en) | Feature processing tradeoff management | |
CN104903894B (zh) | 用于分布式数据库查询引擎的系统和方法 | |
US10255347B2 (en) | Smart tuple dynamic grouping of tuples | |
US11579860B2 (en) | Model driven state machine transitions to configure an installation of a software program | |
US10437470B1 (en) | Disk space manager | |
US10909114B1 (en) | Predicting partitions of a database table for processing a database query | |
US20170169111A1 (en) | Search query task management for search system tuning | |
CN104781812A (zh) | 策略驱动的数据放置和信息生命周期管理 | |
US20170371922A1 (en) | Database Management for Mobile Devices | |
US11657069B1 (en) | Dynamic compilation of machine learning models based on hardware configurations | |
US11567936B1 (en) | Platform agnostic query acceleration | |
US10108664B2 (en) | Generating multiple query access plans for multiple computing environments | |
US11636124B1 (en) | Integrating query optimization with machine learning model prediction |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40086152 Country of ref document: HK |