CN111857991A - 数据排序的方法、装置和计算机设备 - Google Patents
数据排序的方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111857991A CN111857991A CN202010583893.2A CN202010583893A CN111857991A CN 111857991 A CN111857991 A CN 111857991A CN 202010583893 A CN202010583893 A CN 202010583893A CN 111857991 A CN111857991 A CN 111857991A
- Authority
- CN
- China
- Prior art keywords
- data
- specified
- task
- designated
- quantiles
- 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
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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请揭示了数据排序的方法,包括:获取指定任务执行时,系统中可调用的计算资源的数据量;根据计算资源的数据量,以及计算指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量;根据分位点的数量,获取指定任务对应的各数据块分别对应的分位点为降序或升序排布的n个,n为正整数;根据分位点将各指定任务的数据拆分成指定数量的小数量级数据集,指定数量等于n+1;分别将各小数量级数据集输入至函数ROW_NUMBER()中进行排序;将排序后的各小数量级数据集,按照各小数量级数据集分别对应的分位点的排序进行拼接,形成指定任务对应的全排序。通过动态调整数据块的大小,提高系统计算资源的利用率,以及任务执行的高效率。
Description
技术领域
本申请涉及到计算机领域,特别是涉及到数据排序的方法、装置和计算机设备。
背景技术
现有ROW_NUMBER()函数对数据进行排序时,ROW_NUMBER()函数的功能是对数据进行编号,涉及参数有partition by和order by,其中,partition by的功能是将相同数据进行分区,order by的功能是让数据按一定顺序排序,该函数在排序过程中需要将数据放在一个reduce中去执行,对于大规模数据进行排序时,满足不了时效性要求,有时甚至无法顺利完成排序。因此,需要根据现有资源,设计出满足生产需求的大规模数据的排序方法。
发明内容
本申请的主要目的为提供数据排序的方法,旨在解决现有排序方法不能满足大规模数据的排序需求的技术问题。
本申请提出一种数据排序的方法,包括:
获取指定任务执行时,系统中可调用的计算资源的数据量;
根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBlock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;
根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;
根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;
分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;
将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
优选地,所述根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点的步骤,包括:
对所述指定任务的数据进行抽样,得到所述指定任务的数据对应的抽样样本,其中,所述抽样样本的数量级小于所述数据块的数据量;
判断所述抽样样本是否符合预设条件;
若是,则通过所述抽样样本的分数信息和维度信息,计算所述抽样样本的指定分位点对应的赋值;
将所述指定分位点的赋值作为所述数据块对应的分位点的赋值。
优选地,所述将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的步骤之前,包括:
根据统计的所述抽样样本中达到业务要求的用户占比量,计算所述抽样样本对应的第一转化率,根据统计的所述指定数据块的数量中达到业务要求的用户占比量,计算所述指定数据块对应的第二转化率;
判断所述第一转化率和所述第二转化率的差量是否在预设范围内;
若是,则判定根据所述抽样样本得到的分位点分布趋势,与所述指定数据块的分位点的分布趋势一致;
生成将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的指令。
优选地,所述指定任务的数据由预测概率分数值和编号信息组成的两维数据,通过所述抽样样本的分数信息和维度信息,计算所述抽样样本对应的指定分位点的赋值的步骤,包括:
分别获取所述抽样样本中所述预测概率分数值所对应字段的赋值;
将各所述预测概率分数值所对应字段的赋值,按照升序或降序进行排列,形成赋值排序表;
将所述赋值排序表按照n个分位点进行均分,得到各分位点分别对应的赋值。
优选地,所述抽样样本包括指定正样本和指定负样本,所述指定任务的数据包括正样本和负样本,所述判断所述抽样样本是否符合预设条件的步骤,包括:
根据指定正样本数量/(指定正样本数量+指定负样本数量)计算第一比值,根据所述正样本数量/(正样本数量+负样本数量)计算第二比值;
判断所述第一比值与所述第二比值的差量是否在预设范围内;
若是,则判定所述抽样样本符合预设条件,否者不符合。
优选地,所述获取指定任务执行时,系统中可调用的计算资源的数据量的步骤之前,包括:
判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量;
若所述指定任务中的各文件的大小大于各打分处理器Mapper对应的处理量,则按照所述打分处理器Mapper对应的处理量切割大于各打分处理器Mapper对应的处理量的文件,并为切割后的文件分别分配一个打分处理器Mapper。
优选地,所述判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量的步骤之后,包括:
若所述指定任务中的各文件的大小不大于各打分处理器Mapper对应的处理量,则将小于打分处理器Mapper处理量的文件进行合并,形成合并文件;
按照所述打分处理器Mapper对应的处理量切割合并文件,并为切割后的所述合并文件的子文件,分别分配一个打分处理器Mapper。
本申请还提供了一种数据排序的装置,包括:
第一获取模块,用于获取指定任务执行时,系统中可调用的计算资源的数据量;
计算模块,用于根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBlock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;
第二获取模块,用于根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;
拆分模块,用于根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;
排序模块,用于分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;
拼接模块,用于将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
本申请在现有可调用计算资源的限定下,通过动态调整数据块的大小,使任务得以顺利的执行,无需等待满足任务需求的满额数据量,提高系统计算资源的利用率,以及任务执行的高效率。执行过程中通过对小规模数据集进行采样、计算样本分位点对应的分数,映射到大数据集的分位点,并通过分块打分、合并数据集的方式,最后形成有序的全量数据,实现了对大规模数据的排序。
附图说明
图1本申请一实施例的数据排序的方法流程示意图;
图2本申请一实施例的数据排序的装置结构示意图;
图3本申请一实施例的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例的数据排序的方法,包括:
S1:获取指定任务执行时,系统中可调用的计算资源的数据量;
S2:根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBlock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;
S3:根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;
S4:根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;
S5:分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;
S7:将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
本申请实施例中,当数据量达到上千万或亿的数量级时,无法通过排序函数ROW_NUMBER()完成数据排序,根据函数ROW_NUMBER()的计算能力阈值、或计算机的CPU计算阈值、或系统计算资源当前可调用量,将任务对应的数据分成数据块。比如2000万级别的数据量为单次处理的最大数据量,以保证数据排序过程的顺畅进行,对大数据量进行分块处理。当待处理数据的数据量大于最大数据量时,影响数据排序的顺畅性进行,甚至无法得到执行结果。上述的最大数据量可根据系统当前可调配的计算资源决定。本申请通过动态获取hive.exec.reducers.bytes.per.reducer的设置参数,S为hive.exec.reducers.bytes.per.reducer的数据量大小,表示reducer当前计算资源的数据量,以G为单位以确定当前可调用的计算资源,来调整数据块的大小,从而在确保执行任务的时效性的条件下,也能满足计算资源的合理调用。根据指定任务的数据量的大小以及当前计算资源可支持的最大数据量计算合理的分位点,以将指定任务的数据分成多个小数量级数据集,然后多个小数量级数据集分别通过函数ROW_NUMBER()进行排序,最后根据多个分位点已预先形成的升序或降序进行依次排列,将大数量级的数据实现有序排列。通过对拆分得到的每个小数量级数据集分别排序,然后按照分位点的排序合并所有已完成排序的每个小数量级数据集,最后形成有序的大数量级的数据,即全量数据,实现了对大数量级的数据的排序。举例当KBlock=5时,划分情况如下表1:
表1
KBlock | 分位点 | 模型打分取值范围 | 数据块数量 | ROW_NUMBER()排序 |
KBlock1 | 0.2 | [0,30) | max_n | 局部有序 |
KBlock2 | 0.4 | [30,50) | max_n | 局部有序 |
KBlock3 | 0.6 | [50,70) | max_n | 局部有序 |
KBlock4 | 0.8 | [70,90) | max_n | 局部有序 |
KBlock5 | - | [90,100] | n-4*max_n | 局部有序 |
进一步地,所述根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点的步骤S3,包括:
S31:对所述指定任务的数据进行抽样,得到所述指定任务的数据对应的抽样样本,其中,所述抽样样本的数量级小于所述数据块的数据量;
S32:判断所述抽样样本是否符合预设条件;
S33:若是,则通过所述抽样样本的分数信息和维度信息,计算所述抽样样本的指定分位点对应的赋值;
S34:将所述指定分位点的赋值作为所述数据块对应的分位点的赋值。
本申请实施例中,为保证获取的分位点更合理,通过对大数量级的数据抽取样本数据形成抽样样本,使抽样样本的数据组成规律与大数量级的数据组成规律相同或近似,使抽样样本成为大数量级的数据的代表数据,并通过对抽样样本进行分析计算,得到抽样样本的指定分位点。上述指定分位点的数量与大数量级的数据预先确定的分位点的个数相同。
进一步地,所述将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的步骤S34之前,包括:
S35:根据统计的所述抽样样本中达到业务要求的用户占比量,计算所述抽样样本对应的第一转化率,根据统计的所述指定数据块的数量中达到业务要求的用户占比量,计算所述指定数据块对应的第二转化率;
S36:判断所述第一转化率和所述第二转化率的差量是否在预设范围内;
S37:若是,则判定根据所述抽样样本得到的分位点分布趋势,与所述指定数据块的分位点的分布趋势一致;
S38:生成将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的指令。
根据数据块数量确定分位点的个数,计算各个分位点对应的模型分数的取值。通过各个分位点对应的模型打分分数,对指定任务的数据集进行切割,切割后的数据再进行局部排序,最后形成整体的有序排序,充分利用系统计算资源,并且处理时间也满足业务需求。上述分位点根据大数量级的数据所包含的小样本数据,即抽样样本,计算各分位点。比如大数量级的数据内容为预测概率百分比,则根据预先确定的分位点的个数,得到各分位点,比如有十个分位点,各分位点对应的概率分别为0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9。通过对大数量级的数据的集合,计算拆分数据的分位点对应的分数。本实施例为反向验证抽样样本的分位点对应的概率百分比,与指定任务中的分位点对应的概率百分比一致,即可将小样本的分位点适用于指定任务对应的大数量级的数据的分位点,通过数据中的转化率进行验证。比如上述转化率为购买用户的占有率,若两者的转化率相同或非常相近,则认为具有相同的分位点分布规律。比如抽样样本中的转换率为80%,对应打分为30分,对应的概率百分比为50%,即一半的用户打分为30分及以上。若指定任务的转化率也为80%,则认为指定任务的数据中,对应打分为30分对应的概率百分比为50%,并根据相同的转化率确定分位点的分布趋势。
进一步地,所述抽样样本包括指定正样本和指定负样本,所述指定任务的数据包括正样本和负样本,所述判断所述抽样样本是否符合预设条件的步骤S32,包括:
S321:根据指定正样本数量/(指定正样本数量+指定负样本数量)计算第一比值,根据所述正样本数量/(正样本数量+负样本数量)计算第二比值;
S322:判断所述第一比值与所述第二比值的差量是否在预设范围内;
S323:若是,则判定所述抽样样本符合预设条件,否者不符合。
本申请实施例中,大数量级的数据和抽样样本均包括正样本和负样本,比如抽样样本中包括用户购买保险的数据,有购买数据的为正样本,无购买数据的为负样本。通过比较大数量级的数据和抽样样本中,正样本数量各自占据其包含的样本总量的两个比值是否相等或相近,若两个比值相等或相近,则说明抽样样本的数据组成规律,与大数量级的数据的组成规律相同或近似,抽样样本可以成为大数量级的数据的代表数据,以提高通过分位点拆分大数量级的数据的精准度。上述预设范围为0-5%范围内。
进一步地,所述指定任务的数据由预测概率分数值和编号信息组成的两维数据,通过所述抽样样本的分数信息和维度信息,计算所述抽样样本对应的指定分位点的赋值的步骤S23,包括:
S231:分别获取所述抽样样本中所述预测概率分数值所对应字段的赋值;
S232:将各所述预测概率分数值所对应字段的赋值,按照升序或降序进行排列,形成赋值排序表;
S233:将所述赋值排序表按照n个分位点进行均分,得到各分位点分别对应的赋值。
本实施例中,n为10,且分位点对应的赋值以升序排布,由分位点0.1对应的赋值,一直排序到分位点0.9对应的赋值。然后将大数量级的数据中小于分位点0.1对应的赋值的数据,划分为一个小数量级数据集,将大于等于分位点0.1对应的赋值且小于分位点0.2对应的赋值的数据,划分为一个小数量级数据集,依次类推将大数量级的数据拆分成10个小数量级数据集,然后将每个小数量级数据集分别输入到函数ROW_NUMBER()中进行排序,然后将排序后的每个小数量级数据集,依次按照各分位点的赋值的排布规律进行拼接组合,得到有序的大数量级的数据。
本实施例以对数据量为4600万,维度为150维,其中一维是预测概率分数的大数量级的数据的排序为例,详细说明排序过程。首先利用“distribute by rand()sort byrand()limit 1000000”对4600万数据进行随机抽取100万形成抽样样本。然后通过数据集中预测概率分数这一维度数据的取值比例,计算正负样本率,并通过正负样本率确定抽样样本对于大数量级的数据具有代表性。并通过预测概率分数这一维度数据,计算各分位点分别对应的预设概率分数。如下表2所示,其中样本集分数为预测概率分数。根据抽样样本划分的9个分位点对应的预设概率分数,对大数量级的数据划分为10等份,得到10份小数量级数据集,如下表3。利用函数ROW_NUMBER()分别对10份小数量级数据集进行排序,形成局部有序的数据集。然后按照预测概率分数的排布顺序,拼接上述10个局部有序的小数量级数据集,实现整体有序排布,加快了排序进程。通过本方案排序用时为1.02小时,相比于之前将大数量级的数据直接函数ROW_NUMBER()中排序耗时节省了3.3小时,也避免了大数量级的数据级别过高,比如几亿的数据量,函数ROW_NUMBER()无法得出排序结果的弊端。
表2
表3
进一步地,获取指定任务执行时,系统中可调用的计算资源的数据量的步骤S1之前,包括:
S101:判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量;
S102:若所述指定任务中的各文件的大小大于各打分处理器Mapper对应的处理量,则按照所述打分处理器Mapper对应的处理量切割大于各打分处理器Mapper对应的处理量的文件,并为切割后的文件分别分配一个打分处理器Mapper。
进一步地,所述判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量的步骤S101之后,包括:
S103:若所述指定任务中的各文件的大小不大于各打分处理器Mapper对应的处理量,则将小于打分处理器Mapper处理量的文件进行合并,形成合并文件;
S104:按照所述打分处理器Mapper对应的处理量切割合并文件,并为切割后的所述合并文件的子文件,分别分配一个打分处理器Mapper。
本实施例中,通过调整文件与map阶段的打分处理器Mapper的对应关系,合理调整硬件资源,以便通过合适的打分处理器Mapper数量,确保时效性的同时,节省计算资源。当输入小文件数量太多时,会导致创建过多的打分处理器Mapper,而消耗大量的计算资源,导致现有的计算资源下无法实现排序过程。反之,打分处理器Mapper的数太少,并发量太少,Job执行时间过长,则无法充分利用分布式硬件资源,影响执行效率,通过文件大小以及文件合并,控制打分处理器Mapper的数量,从而充分利用现有计算资源。
参照图2,本申请一实施例的数据排序的装置,包括:
第一获取模块1,用于获取指定任务执行时,系统中可调用的计算资源的数据量;
计算模块2,用于根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBlock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;
第二获取模块3,用于根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;
拆分模块4,用于根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;
排序模块5,用于分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;
拼接模块6,用于将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
本申请实施例中,当数据量达到上千万或亿的数量级时,无法通过排序函数ROW_NUMBER()完成数据排序,根据函数ROW_NUMBER()的计算能力阈值、或计算机的CPU计算阈值、或系统计算资源当前可调用量,将任务对应的数据分成数据块。比如2000万级别的数据量为单次处理的最大数据量,以保证数据排序过程的顺畅进行,对大数据量进行分块处理。当待处理数据的数据量大于最大数据量时,影响数据排序的顺畅性进行,甚至无法得到执行结果。上述的最大数据量可根据系统当前可调配的计算资源决定。本申请通过动态获取hive.exec.reducers.bytes.per.reducer的设置参数,S为hive.exec.reducers.bytes.per.reducer的数据量大小,表示reducer当前计算资源的数据量,以G为单位以确定当前可调用的计算资源,来调整数据块的大小,从而在确保执行任务的时效性的条件下,也能满足计算资源的合理调用。根据指定任务的数据量的大小以及当前计算资源可支持的最大数据量计算合理的分位点,以将指定任务的数据分成多个小数量级数据集,然后多个小数量级数据集分别通过函数ROW_NUMBER()进行排序,最后根据多个分位点已预先形成的升序或降序进行依次排列,将大数量级的数据实现有序排列。通过对拆分得到的每个小数量级数据集分别排序,然后按照分位点的排序合并所有已完成排序的每个小数量级数据集,最后形成有序的大数量级的数据,即全量数据,实现了对大数量级的数据的排序。举例当KBlock=5时,划分情况如下表1:
表1
KBlock | 分位点 | 模型打分取值范围 | 数据块数量 | ROW_NUMBER()排序 |
KBlock1 | 0.2 | [0,30) | max_n | 局部有序 |
KBlock2 | 0.4 | [30,50) | max_n | 局部有序 |
KBlock3 | 0.6 | [50,70) | max_n | 局部有序 |
KBlock4 | 0.8 | [70,90) | max_n | 局部有序 |
KBlock5 | - | [90,100] | n-4*max_n | 局部有序 |
进一步地,第二获取模块3,包括:
抽样单元,用于对所述指定任务的数据进行抽样,得到所述指定任务的数据对应的抽样样本,其中,所述抽样样本的数量级小于所述数据块的数据量;
第一判断单元,用于判断所述抽样样本是否符合预设条件;
第一计算单元,用于若符合预设条件,则通过所述抽样样本的分数信息和维度信息,计算所述抽样样本的指定分位点对应的赋值;
作为单元,用于将所述指定分位点的赋值作为所述数据块对应的分位点的赋值。
本申请实施例中,为保证获取的分位点更合理,通过对大数量级的数据抽取样本数据形成抽样样本,使抽样样本的数据组成规律与大数量级的数据组成规律相同或近似,使抽样样本成为大数量级的数据的代表数据,并通过对抽样样本进行分析计算,得到抽样样本的指定分位点。上述指定分位点的数量与大数量级的数据预先确定的分位点的个数相同。
进一步地,第二获取模块3,包括:
第二计算单元,用于根据统计的所述抽样样本中达到业务要求的用户占比量,计算所述抽样样本对应的第一转化率,根据统计的所述指定数据块的数量中达到业务要求的用户占比量,计算所述指定数据块对应的第二转化率;
第二判断单元,用于判断所述第一转化率和所述第二转化率的差量是否在预设范围内;
判定单元,用于若在预设范围内,则判定根据所述抽样样本得到的分位点分布趋势,与所述指定数据块的分位点的分布趋势一致;
生成单元,用于生成将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的指令。
根据数据块数量确定分位点的个数,计算各个分位点对应的模型分数的取值。通过各个分位点对应的模型打分分数,对指定任务的数据集进行切割,切割后的数据再进行局部排序,最后形成整体的有序排序,充分利用系统计算资源,并且处理时间也满足业务需求。上述分位点根据大数量级的数据所包含的小样本数据,即抽样样本,计算各分位点。比如大数量级的数据内容为预测概率百分比,则根据预先确定的分位点的个数,得到各分位点,比如有十个分位点,各分位点对应的概率分别为0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9。通过对大数量级的数据的集合,计算拆分数据的分位点对应的分数。本实施例为反向验证抽样样本的分位点对应的概率百分比,与指定任务中的分位点对应的概率百分比一致,即可将小样本的分位点适用于指定任务对应的大数量级的数据的分位点,通过数据中的转化率进行验证。比如上述转化率为购买用户的占有率,若两者的转化率相同或非常相近,则认为具有相同的分位点分布规律。比如抽样样本中的转换率为80%,对应打分为30分,对应的概率百分比为50%,即一半的用户打分为30分及以上。若指定任务的转化率也为80%,则认为指定任务的数据中,对应打分为30分对应的概率百分比为50%,并根据相同的转化率确定分位点的分布趋势。
进一步地,所述抽样样本包括指定正样本和指定负样本,所述指定任务的数据包括正样本和负样本,第一判断单元,包括:
计算子单元,用于根据指定正样本数量/(指定正样本数量+指定负样本数量)计算第一比值,根据所述正样本数量/(正样本数量+负样本数量)计算第二比值;
判断子单元,用于判断第一比值与第二比值的差量是否在预设范围内;
判定子单元,用于若在预设范围内,则判定所述抽样样本符合预设条件,否者不符合。
本申请实施例中,大数量级的数据和抽样样本均包括正样本和负样本,比如抽样样本中包括用户购买保险的数据,有购买数据的为正样本,无购买数据的为负样本。通过比较大数量级的数据和抽样样本中,正样本数量各自占据其包含的样本总量的两个比值是否相等或相近,若两个比值相等或相近,则说明抽样样本的数据组成规律,与大数量级的数据的组成规律相同或近似,抽样样本可以成为大数量级的数据的代表数据,以提高通过分位点拆分大数量级的数据的精准度。上述预设范围为0-5%范围内。
进一步地,所述指定任务的数据由预测概率分数值和编号信息组成的两维数据,第一计算单元,包括:
获取子单元,用于分别获取所述抽样样本中所述预测概率分数值所对应字段的赋值;
排列子单元,用于将各所述预测概率分数值所对应字段的赋值,按照升序或降序进行排列,形成赋值排序表;
得到子单元,用于将所述赋值排序表按照n个分位点进行均分,得到各分位点分别对应的赋值。
本实施例中,n为10,且分位点对应的赋值以升序排布,由分位点0.1对应的赋值,一直排序到分位点0.9对应的赋值。然后将大数量级的数据中小于分位点0.1对应的赋值的数据,划分为一个小数量级数据集,将大于等于分位点0.1对应的赋值且小于分位点0.2对应的赋值的数据,划分为一个小数量级数据集,依次类推将大数量级的数据拆分成10个小数量级数据集,然后将每个小数量级数据集分别输入到函数ROW_NUMBER()中进行排序,然后将排序后的每个小数量级数据集,依次按照各分位点的赋值的排布规律进行拼接组合,得到有序的大数量级的数据。
本实施例以对数据量为4600万,维度为150维,其中一维是预测概率分数的大数量级的数据的排序为例,详细说明排序过程。首先利用“distribute by rand()sort byrand()limit 1000000”对4600万数据进行随机抽取100万形成抽样样本。然后通过数据集中预测概率分数这一维度数据的取值比例,计算正负样本率,并通过正负样本率确定抽样样本对于大数量级的数据具有代表性。并通过预测概率分数这一维度数据,计算各分位点分别对应的预设概率分数。如下表2所示,其中样本集分数为预测概率分数。根据抽样样本划分的9个分位点对应的预设概率分数,对大数量级的数据划分为10等份,得到10份小数量级数据集,如下表3。利用函数ROW_NUMBER()分别对10份小数量级数据集进行排序,形成局部有序的数据集。然后按照预测概率分数的排布顺序,拼接上述10个局部有序的小数量级数据集,实现整体有序排布,加快了排序进程。通过本方案排序用时为1.02小时,相比于之前将大数量级的数据直接函数ROW_NUMBER()中排序耗时节省了3.3小时,也避免了大数量级的数据级别过高,比如几亿的数据量,函数ROW_NUMBER()无法得出排序结果的弊端。
表2
表3
进一步地,数据排序的装置,包括:
判断模块,用于判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量;
第一切割模块,用于若所述指定任务中的各文件的大小大于各打分处理器Mapper对应的处理量,则按照所述打分处理器Mapper对应的处理量切割大于各打分处理器Mapper对应的处理量的文件,并为切割后的文件分别分配一个打分处理器Mapper。
进一步地,数据排序的装置,包括:
合并模块,用于若所述指定任务中的各文件的大小不大于各打分处理器Mapper对应的处理量,则将小于打分处理器Mapper处理量的文件进行合并,形成合并文件;
第二切割模块,用于按照所述打分处理器Mapper对应的处理量切割合并文件,并为切割后的所述合并文件的子文件,分别分配一个打分处理器Mapper。
本实施例中,通过调整文件与map阶段的打分处理器Mapper的对应关系,合理调整硬件资源,以便通过合适的打分处理器Mapper数量,确保时效性的同时,节省计算资源。当输入小文件数量太多时,会导致创建过多的打分处理器Mapper,而消耗大量的计算资源,导致现有的计算资源下无法实现排序过程。反之,打分处理器Mapper的数太少,并发量太少,Job执行时间过长,则无法充分利用分布式硬件资源,影响执行效率,通过文件大小以及文件合并,控制打分处理器Mapper的数量,从而充分利用现有计算资源。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据排序的过程需要的所有数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现数据排序的方法。
上述处理器执行上述数据排序的方法,包括:获取指定任务执行时,系统中可调用的计算资源的数据量;根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBlock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
上述计算机设备,在现有可调用计算资源的限定下,通过动态调整数据块的大小,使任务得以顺利的执行,无需等待满足任务需求的满额数据量,提高系统计算资源的利用率,以及任务执行的高效率。执行过程中通过对小规模数据集进行采样、计算样本分位点对应的分数,映射到大数据集的分位点,并通过分块打分、合并数据集的方式,最后形成有序的全量数据,实现了对大规模数据的排序。
在一个实施例中,上述处理器根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点的步骤,包括:对所述指定任务的数据进行抽样,得到所述指定任务的数据对应的抽样样本,其中,所述抽样样本的数量级小于所述数据块的数据量;判断所述抽样样本是否符合预设条件;若是,则通过所述抽样样本的分数信息和维度信息,计算所述抽样样本的指定分位点对应的赋值;将所述指定分位点的赋值作为所述数据块对应的分位点的赋值。
在一个实施例中,上述处理器将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的步骤之前,包括:根据统计的所述抽样样本中达到业务要求的用户占比量,计算所述抽样样本对应的第一转化率,根据统计的所述指定数据块的数量中达到业务要求的用户占比量,计算所述指定数据块对应的第二转化率;判断所述第一转化率和所述第二转化率的差量是否在预设范围内;若是,则判定根据所述抽样样本得到的分位点分布趋势,与所述指定数据块的分位点的分布趋势一致;生成将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的指令。
在一个实施例中,所述指定任务的数据由预测概率分数值和编号信息组成的两维数据,上述处理器通过所述抽样样本的分数信息和维度信息,计算所述抽样样本对应的指定分位点的赋值的步骤,包括:分别获取所述抽样样本中所述预测概率分数值所对应字段的赋值;将各所述预测概率分数值所对应字段的赋值,按照升序或降序进行排列,形成赋值排序表;将所述赋值排序表按照n个分位点进行均分,得到各分位点分别对应的赋值。
在一个实施例中,所述抽样样本包括指定正样本和指定负样本,所述指定任务的数据包括正样本和负样本,上述处理器判断所述抽样样本是否符合预设条件的步骤,包括:根据指定正样本数量/(指定正样本数量+指定负样本数量)计算第一比值,根据所述正样本数量/(正样本数量+负样本数量)计算第二比值;判断所述第一比值与所述第二比值的差量是否在预设范围内;若是,则判定所述抽样样本符合预设条件,否者不符合。
在一个实施例中,上述处理器获取指定任务执行时,系统中可调用的计算资源的数据量的步骤之前,包括:判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量;若所述指定任务中的各文件的大小大于各打分处理器Mapper对应的处理量,则按照所述打分处理器Mapper对应的处理量切割大于各打分处理器Mapper对应的处理量的文件,并为切割后的文件分别分配一个打分处理器Mapper。
在一个实施例中,上述处理器判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量的步骤之后,包括:若所述指定任务中的各文件的大小不大于各打分处理器Mapper对应的处理量,则将小于打分处理器Mapper处理量的文件进行合并,形成合并文件;按照所述打分处理器Mapper对应的处理量切割合并文件,并为切割后的所述合并文件的子文件,分别分配一个打分处理器Mapper。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现数据排序的方法,包括:获取指定任务执行时,系统中可调用的计算资源的数据量;根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBlock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
上述计算机可读存储介质,在现有可调用计算资源的限定下,通过动态调整数据块的大小,使任务得以顺利的执行,无需等待满足任务需求的满额数据量,提高系统计算资源的利用率,以及任务执行的高效率。执行过程中通过对小规模数据集进行采样、计算样本分位点对应的分数,映射到大数据集的分位点,并通过分块打分、合并数据集的方式,最后形成有序的全量数据,实现了对大规模数据的排序。
在一个实施例中,上述处理器根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点的步骤,包括:对所述指定任务的数据进行抽样,得到所述指定任务的数据对应的抽样样本,其中,所述抽样样本的数量级小于所述数据块的数据量;判断所述抽样样本是否符合预设条件;若是,则通过所述抽样样本的分数信息和维度信息,计算所述抽样样本的指定分位点对应的赋值;将所述指定分位点的赋值作为所述数据块对应的分位点的赋值。
在一个实施例中,上述处理器将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的步骤之前,包括:根据统计的所述抽样样本中达到业务要求的用户占比量,计算所述抽样样本对应的第一转化率,根据统计的所述指定数据块的数量中达到业务要求的用户占比量,计算所述指定数据块对应的第二转化率;判断所述第一转化率和所述第二转化率的差量是否在预设范围内;若是,则判定根据所述抽样样本得到的分位点分布趋势,与所述指定数据块的分位点的分布趋势一致;生成将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的指令。
在一个实施例中,所述指定任务的数据由预测概率分数值和编号信息组成的两维数据,上述处理器通过所述抽样样本的分数信息和维度信息,计算所述抽样样本对应的指定分位点的赋值的步骤,包括:分别获取所述抽样样本中所述预测概率分数值所对应字段的赋值;将各所述预测概率分数值所对应字段的赋值,按照升序或降序进行排列,形成赋值排序表;将所述赋值排序表按照n个分位点进行均分,得到各分位点分别对应的赋值。
在一个实施例中,所述抽样样本包括指定正样本和指定负样本,所述指定任务的数据包括正样本和负样本,上述处理器判断所述抽样样本是否符合预设条件的步骤,包括:根据指定正样本数量/(指定正样本数量+指定负样本数量)计算第一比值,根据所述正样本数量/(正样本数量+负样本数量)计算第二比值;判断所述第一比值与所述第二比值的差量是否在预设范围内;若是,则判定所述抽样样本符合预设条件,否者不符合。
在一个实施例中,上述处理器获取指定任务执行时,系统中可调用的计算资源的数据量的步骤之前,包括:判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量;若所述指定任务中的各文件的大小大于各打分处理器Mapper对应的处理量,则按照所述打分处理器Mapper对应的处理量切割大于各打分处理器Mapper对应的处理量的文件,并为切割后的文件分别分配一个打分处理器Mapper。
在一个实施例中,上述处理器判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量的步骤之后,包括:若所述指定任务中的各文件的大小不大于各打分处理器Mapper对应的处理量,则将小于打分处理器Mapper处理量的文件进行合并,形成合并文件;按照所述打分处理器Mapper对应的处理量切割合并文件,并为切割后的所述合并文件的子文件,分别分配一个打分处理器Mapper。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据排序的方法,其特征在于,包括:
获取指定任务执行时,系统中可调用的计算资源的数据量;
根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBlock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;
根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;
根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;
分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;
将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
2.根据权利要求1所述的数据排序的方法,其特征在于,所述根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点的步骤,包括:
对所述指定任务的数据进行抽样,得到所述指定任务的数据对应的抽样样本,其中,所述抽样样本的数量级小于所述数据块的数据量;
判断所述抽样样本是否符合预设条件;
若是,则通过所述抽样样本的分数信息和维度信息,计算所述抽样样本的指定分位点对应的赋值;
将所述指定分位点的赋值作为所述数据块对应的分位点的赋值。
3.根据权利要求2所述的数据排序的方法,其特征在于,所述将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的步骤之前,包括:
根据统计的所述抽样样本中达到业务要求的用户占比量,计算所述抽样样本对应的第一转化率,根据统计的所述指定数据块的数量中达到业务要求的用户占比量,计算所述指定数据块对应的第二转化率;
判断所述第一转化率和所述第二转化率的差量是否在预设范围内;
若是,则判定根据所述抽样样本得到的分位点分布趋势,与所述指定数据块的分位点的分布趋势一致;
生成将所述指定分位点的赋值作为所述数据块对应的分位点的赋值的指令。
4.根据权利要求3所述的数据排序的方法,其特征在于,所述指定任务的数据由预测概率分数值和编号信息组成的两维数据,所述通过所述抽样样本的分数信息和维度信息,计算所述抽样样本对应的指定分位点的赋值的步骤,包括:
分别获取所述抽样样本中所述预测概率分数值所对应字段的赋值;
将各所述预测概率分数值所对应字段的赋值,按照升序或降序进行排列,形成赋值排序表;
将所述赋值排序表按照n个分位点进行均分,得到各分位点分别对应的赋值。
5.根据权利要求2所述的数据排序的方法,其特征在于,所述抽样样本包括指定正样本和指定负样本,所述指定任务的数据包括正样本和负样本,所述判断所述抽样样本是否符合预设条件的步骤,包括:
根据指定正样本数量/(指定正样本数量+指定负样本数量)计算第一比值,根据所述正样本数量/(正样本数量+负样本数量)计算第二比值;
判断所述第一比值与所述第二比值的差量是否在预设范围内;
若是,则判定所述抽样样本符合预设条件,否者不符合。
6.根据权利要求1所述的数据排序的方法,其特征在于,所述获取指定任务执行时,系统中可调用的计算资源的数据量的步骤之前,包括:
判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量;
若所述指定任务中的各文件的大小大于各打分处理器Mapper对应的处理量,则按照所述打分处理器Mapper对应的处理量切割大于各打分处理器Mapper对应的处理量的文件,并为切割后的文件分别分配一个打分处理器Mapper。
7.根据权利要求6所述的数据排序的方法,其特征在于,所述判断所述指定任务中的各文件的大小是否大于各打分处理器Mapper对应的处理量的步骤之后,包括:
若所述指定任务中的各文件的大小不大于各打分处理器Mapper对应的处理量,则将小于打分处理器Mapper处理量的文件进行合并,形成合并文件;
按照所述打分处理器Mapper对应的处理量切割合并文件,并为切割后的所述合并文件的子文件,分别分配一个打分处理器Mapper。
8.一种数据排序的装置,其特征在于,包括:
第一获取模块,用于获取指定任务执行时,系统中可调用的计算资源的数据量;
计算模块,用于根据所述计算资源的数据量,以及计算所述指定任务对应的数据集被拆分的数据块的数量,以确定分位点的数量,其中,KBblock为对最大数据集分割的数据块数,S为当前计算资源的数据量,max_n为在业务允许时间内完成排序的最大数据集,pmod()为取模;
第二获取模块,用于根据所述分位点的数量,获取所述指定任务对应的各数据块分别对应的分位点,其中,所述分位点为降序排布的n个,或者所述分位点为升序排布的n个,n为正整数;
拆分模块,用于根据所述分位点将各所述指定任务的数据拆分成指定数量的小数量级数据集,其中,所述指定数量等于n+1;
排序模块,用于分别将各所述小数量级数据集输入至函数ROW_NUMBER()中进行排序;
拼接模块,用于将排序后的各所述小数量级数据集,按照各所述小数量级数据集分别对应的分位点的排序进行拼接,形成所述指定任务对应的全排序。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010583893.2A CN111857991A (zh) | 2020-06-23 | 2020-06-23 | 数据排序的方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010583893.2A CN111857991A (zh) | 2020-06-23 | 2020-06-23 | 数据排序的方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111857991A true CN111857991A (zh) | 2020-10-30 |
Family
ID=72988424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010583893.2A Pending CN111857991A (zh) | 2020-06-23 | 2020-06-23 | 数据排序的方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857991A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023230943A1 (en) * | 2022-06-01 | 2023-12-07 | Huawei Technologies Co., Ltd. | System and method of data management |
-
2020
- 2020-06-23 CN CN202010583893.2A patent/CN111857991A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023230943A1 (en) * | 2022-06-01 | 2023-12-07 | Huawei Technologies Co., Ltd. | System and method of data management |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321223B (zh) | Coflow协同作业流调度感知的数据流划分方法与装置 | |
DE602004011890T2 (de) | Verfahren zur Neuverteilung von Objekten an Recheneinheiten | |
CN108959292B (zh) | 一种数据上传方法、系统和计算机可读存储介质 | |
CN110166282A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN111225050B (zh) | 云计算资源分配方法及装置 | |
CN112800095A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN113538188B (zh) | 试卷生成方法、装置、电子设备及计算机可读存储介质 | |
CN107633001A (zh) | 哈希分区优化方法和装置 | |
CN110730101A (zh) | 资源分配方法、终端、装置及可读存储介质 | |
CN112953767A (zh) | 基于Hadoop平台的资源分配参数设置方法、设备及存储介质 | |
CN102402606B (zh) | 一种高效的文本数据挖掘方法 | |
CN111857991A (zh) | 数据排序的方法、装置和计算机设备 | |
CN114091688A (zh) | 一种计算资源获取方法、装置、电子设备和存储介质 | |
CN116701001B (zh) | 目标任务分配方法、装置、电子设备及存储介质 | |
CN116560860B (zh) | 一种基于机器学习的资源优先级的实时优化调整方法 | |
CN113672375A (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN111353797B (zh) | 资源分配方法、装置以及电子设备 | |
CN115204849A (zh) | 基于人工智能的企业人力资源管理方法及系统 | |
CN110727510A (zh) | 用户数据处理方法、装置、计算机设备和存储介质 | |
CN112528662A (zh) | 基于元学习的实体类别识别方法、装置、设备和存储介质 | |
CN115686865B (zh) | 一种基于多场景应用的超算节点资源分配系统 | |
CN117112242B (zh) | 一种云计算系统中的资源节点分配方法和系统 | |
CN114443258B (zh) | 用于虚拟机的资源调度方法、装置、设备及存储介质 | |
CN116955820A (zh) | 催收案件智能推荐方法、装置 | |
CN115550259A (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 |