CN103064862B - 一种多指标排序数据处理方法及设备 - Google Patents
一种多指标排序数据处理方法及设备 Download PDFInfo
- Publication number
- CN103064862B CN103064862B CN201110325432.6A CN201110325432A CN103064862B CN 103064862 B CN103064862 B CN 103064862B CN 201110325432 A CN201110325432 A CN 201110325432A CN 103064862 B CN103064862 B CN 103064862B
- Authority
- CN
- China
- Prior art keywords
- information
- recorded
- recorded information
- index
- desired value
- 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
Abstract
本申请实施例提出一种多指标排序数据处理方法及设备,将包含一个主体信息和多个指标的第一记录信息,按照指标进行拆分,得到多条包含一个主体信息和一个指标的第二记录信息,对第二记录信息进行排序。由于本申请的方案中,针对第二记录信息进行排序,因此,只需调用一次用于排序的函数就可以对各条第二记录信息按照其中包含的指标进行排序,克服多次调用用于排序的函数所带来的资源占用量大、排序时间长、效率低的问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种多指标排序数据处理方法及设备。
背景技术
随着信息技术的发展,会产生大量的包含指标以及相应指标值的记录信息,针对不同主体的相同指标,可按照对应的指标值对各主体进行排序。
例如:对于销售的商品,如果要按照商品销售相关的指标,如销售金额、商品的销售数量对商品进行排序,则进行排序的商品之间具有某种共有的信息,可称之为维度信息,如商品的类目、商品销售的时间等,记录信息中可记录该商品的维度信息、指标、指标值以及表示该商品本身的主体信息(如商品标识),表示具有相同维度信息的商品,可根据其中的指标进行排序。
再例如:对于学生的考试成绩,记录信息中记录的维度信息可以是需要进行排序的各学生共有的信息,指标可以是用于排序的各项科目,指标值是学生各科目的成绩,如表1所示,为杭州市育才中学1年级4位学生在2011年期末考试各科成绩的4条记录信息,其中:“杭州市”、“育才中学”、“1年级”、“2011年期末考试”是这4条记录信息中的维度信息,用于表示进行排序的学生所共有的信息;“兵甲、101”、“兵乙、202”、“张三、303”、“李四、505”是这4条记录信息中的主体信息;“语文”、“数学”、“英语”是这4条记录信息中的指标,4条记录信息分别记录各自的主体信息在各指标下的指标值,即考试成绩。
表1
若需要根据指标对表1所示的各记录信息中相应指标值进行排序,则可以通过现有的排序软件进行处理,如通过Hadoop或Hive,将4位学生的语文、数学、英语成绩进行排序。
以通过Hadoop将4位学生的语文、数学、英语成绩进行排序为例,在针对语文成绩进行排序时,可以调用一次Hadoop中的Map-Reduce编程函数,为4位同学的语文成绩进行排序得到排序序号,此时,表1所示的记录信息变为表2所示。
表2
对4位同学的语文成绩进行排序得到排序序号之后,可再次调用Map-Reduce编程函数,为4位同学的数学成绩进行排序得到排序序号,同理,通过第三次调用Map-Reduce编程函数,为4位同学的英语成绩进行排序得到排序序号,最终得到各科成绩排序后的表3。
表3
通过现有的上述针对多指标的排序方法,可以准确地根据各项指标,对不同主体信息的同一指标进行排序,但是,现有的多指标排序数据处理方法中,针对每一指标,都需要单独调用一次用于排序的函数,若需要以N个指标分别进行排序的话,就需要调用N次用于排序的函数,由于多次调用函数过程需要占用大量的系统资源,因此,上述针对多指标的排序方法存在资源占用量大的问题;同时,由于用于排序的函数被调用且运行得到运行结果需要一定的运行时长,因此,上述针对多指标的排序方法还存在排序时间长、效率低的问题;特别是针对目前的海量数据,若用于排序的指标的数量非常巨大,则上述资源占用量大、排序时间长、效率低的问题将会更加突出。
发明内容
本申请的目的在于,提供一种多指标排序数据处理方法及设备,用以解决现有技术中存在的针对多指标排序数据处理的资源占用量大、排序时间长、效率低的问题。
一种多指标排序数据处理方法,包括:
确定多条具有相同维度信息的第一记录信息,其中,每条第一记录信息中包含了主体信息、该主体信息对应的至少两个指标、各指标对应的指标值;
分别将每条第一记录信息拆分为多条第二记录信息,其中,一条第二记录信息中包含一个指标、与该指标对应的一个主体信息,以及该主体信息在该指标下的指标值;
将具有相同指标的第二记录信息按照包含的指标值进行排序。
一种多指标排序数据处理设备,包括:
第一记录信息确定模块,用于确定多条具有相同维度信息的第一记录信息,其中,每条第一记录信息中包含了主体信息、该主体信息对应的至少两个指标、各指标对应的指标值;
第二记录信息生成模块,用于分别将每条第一记录信息按照其中包含的指标拆分为多条第二记录信息,其中,一条第二记录信息中包含一个指标、与该指标对应的一个主体信息,以及该主体信息在该指标下的指标值;
排序模块,用于将具有相同指标的第二记录信息按照包含的指标值进行排序。
本申请有益效果如下:
本申请实施例提供的方案,将包含一个主体信息和多个指标的第一记录信息,按照指标进行拆分,得到多条包含一个主体信息和一个指标及该指标对应的指标值的第二记录信息,由于本申请的方案中,针对第二记录信息进行排序,因此,只需调用一次用于排序的函数就可以对各条第二记录信息按照其中包含的指标进行排序,也就是说,不论需要进行排序的指标的数量有多少,只调用一次用于排序的函数就可完成针对各指标的排序数据处理,克服多次调用用于排序的函数所带来的资源占用量大、排序时间长、效率低的问题。
附图说明
图1为本申请实施例一多指标排序数据处理方法步骤示意图;
图2为本申请实施例二调用Map-Reduce函数实现多指标排序数据处理的示意图;
图3为本申请实施例三多指标排序数据处理设备结构示意图。
具体实施方式
为实现本申请目的,本申请实施例提出一种多指标排序数据处理方法及设备,将包含一个主体信息和多个指标的第一记录信息,按照指标进行拆分,得到多条包含一个主体信息和一个指标的第二记录信息,由于本申请的方案中,针对第二记录信息进行排序,因此,只需调用一次用于排序的函数就可以对各条第二记录信息按照其中包含的指标进行排序,也就是说,不论需要进行排序的指标的数量有多少,只调用一次用于排序的函数就可完成针对各指标的排序,克服多次调用用于排序的函数所带来的资源占用量大、排序时间长、效率低的问题。
下面结合说明书附图对本申请实施例的方案进行详细描述。
实施例一
如图1所示,为本申请实施例一中多指标排序数据处理方法步骤示意图,所述方法包括以下步骤:
步骤101:确定多条具有相同维度信息的第一记录信息,其中,每条第一记录信息中包含了主体信息、该主体信息对应的至少两个指标、各指标对应的指标值。
进一步地,在本实施例中的第一记录信息中,一条第一记录信息内还记录了该主体信息与其他主体信息之间具有相关性的维度信息。
本实施例中的第一记录信息可以以数据表的形式表示,如表4所示,为数据表形式的一条第一记录信息,包括:
主体信息为排序主体ID和排序主体名称:123A;
维度信息为榜单ID:榜单1;
三个指标,分别为:
IDX1,对应的指标值为1000;
IDX2,对应的指标值为888;
IDX3,对应的指标值为6666。
榜单ID | 排序主体ID | 排序主体名称 | IDX1 | IDX2 | IDX3 | |
第一记录信息 | 榜单1 | 123 | A | 1000 | 888 | 6666 |
表4
需要说明的是,本实施例中的第一记录信息并不局限于数据表的表现形式,也不限于其他能够适用于数据库存储的形式来表示。
多条第一记录信息也可以按照上述数据表的形式来表示,如表5所示,为5条第一记录信息以数据表的形式来表示,由于榜单ID为各条第一记录信息中的维度信息,则表5中的5条第一记录信息可以按照维度信息进行划分得到两个信息集合,其中,一个信息集合中的3条第一记录信息中具有相同的榜单1这一维度信息,另一个信息集合中的2条第一记录信息中具有相同的榜单2这一维度信息。
榜单ID | 排序主体ID | 排序主体名称 | IDX1 | IDX2 | IDX3 | |
第一记录信息_1 | 榜单1 | 123 | A | 1000 | 888 | 6666 |
第一记录信息_2 | 榜单2 | 222 | 乙 | 200 | 400 | 600 |
第一记录信息_3 | 榜单1 | 124 | B | 2000 | 999 | 5555 |
第一记录信息_4 | 榜单1 | 125 | C | 3000 | 777 | 4444 |
第一记录信息_5 | 榜单2 | 221 | 甲 | 100 | 300 | 500 |
表5
在将表5按照榜单ID这一维度信息相同划分为两个信息集合时,可将表5划分为表5(a)和表5(b)所示。
榜单ID | 排序主体ID | 排序主体名称 | IDX1 | IDX2 | IDX3 | |
第一记录信息_1 | 榜单1 | 123 | A | 1000 | 888 | 6666 |
第一记录信息_3 | 榜单1 | 124 | B | 2000 | 999 | 5555 |
第一记录信息_4 | 榜单1 | 125 | C | 3000 | 777 | 4444 |
表5(a)
榜单ID | 排序主体ID | 排序主体名称 | IDX1 | IDX2 | IDX3 | |
第一记录信息_5 | 榜单2 | 221 | 甲 | 100 | 300 | 500 |
第一记录信息_2 | 榜单2 | 222 | 乙 | 200 | 400 | 600 |
表5(b)
由于任一划分后得到的信息集合中包含的第一记录信息是具有相同维度的第一记录信息,因此,针对上述数据表形式的第一记录信息划分后得到的信息集合中的第一记录信息,可以作为本步骤101中所需确定的多条具有相同维度信息的第一记录信息。
需要说明的是,第一记录信息中的维度信息是用于表示主体信息的,一条第一记录信息中可以包含一个维度信息,也可以包含多个维度信息,在按照维度信息划分第一记录信息时,可以按照第一记录信息中包含的部分维度信息进行划分,也可按照第一记录信息中包含的全部维度信息进行划分。
例如:针对商品销售产生的两条第一记录信息以数据表形式表示如表6所示:
表6
针对表6所示的两条第一记录信息,其主体信息分别为1000A和2000B,对应的两个指标相同,都为成交笔数和交易金额,如果用于划分第一记录信息的维度信息是销售日期,则这两条第一记录信息可以划分在同一信息集合中,成为具有相同维度信息的第一记录信息;如果用于划分第一记录信息的维度信息是销售日期和商品所属类目,或者用于划分第一记录信息的维度信息是商品所属类目,则这两条第一记录信息不会划分在同一信息集合中,也不会成为具有相同维度信息的第一记录信息。
在本实施例的方案中,可以根据实际的排序需求,选择合适的维度信息用于划分第一记录信息。
步骤102:分别将确定的具有相同维度信息的每条第一记录信息按照其中包含的指标拆分为多条第二记录信息。
其中,一条第二记录信息中包含一个指标、与该指标对应的一个主体信息,以及该主体信息在该指标下的指标值。
具体的,若一条第一记录信息中包含N(N大于1,N为正整数)个指标,则可将该第一记录信息拆分为N条第二记录信息,拆分后的每条第二记录信息中包含所述第一记录信息中的一个指标,且从同一条第一记录信息拆分后得到的任意两个第二记录信息中,包含的指标不同。
以表5(a)所示的具有相同维度信息的第一记录信息集合为例,针对表5(a)中的三条第一记录信息,分别以指标IDX1、指标IDX2和指标IDX3为基础,将这三条第一记录信息拆分为9条第二记录信息,如表7(a)所示。
榜单ID | 排序主体ID | 排序主体名称 | 指标 | 指标值 | |
第二记录信息_1_1 | 榜单1 | 123 | A | IDX1 | 1000 |
第二记录信息_1_2 | 榜单1 | 123 | A | IDX2 | 888 |
第二记录信息_1_3 | 榜单1 | 123 | A | IDX3 | 6666 |
第二记录信息_3_1 | 榜单1 | 124 | B | IDX1 | 2000 |
第二记录信息_3_2 | 榜单1 | 124 | B | IDX2 | 999 |
第二记录信息_3_3 | 榜单1 | 124 | B | IDX3 | 5555 |
第二记录信息_4_1 | 榜单1 | 125 | C | IDX1 | 3000 |
第二记录信息_4_2 | 榜单1 | 125 | C | IDX2 | 777 |
第二记录信息_4_3 | 榜单1 | 125 | C | IDX3 | 4444 |
表7(a)
较优地,在本步骤102的方案中,将具有相同维度信息的每条第一记录信息都拆分为多条第二记录信息后,可以将拆分得到的第二记录信息再以指标为单位划分为多个子集合,其中,位于同一子集合中的第二记录信息具有相同的指标。仍以表7(a)所示的第二记录信息为例,可将包含的指标为IDX1的3条第二记录信息划分在一个子集合内,将包含的指标为IDX2的3条第二记录信息划分在一个子集合内,将包含的指标为IDX3的3条第二记录信息划分在一个子集合内,此时,表7(a)所示的第二记录信息将会转换为表7(b)所示的情形。
榜单ID | 排序主体ID | 排序主体名称 | 指标 | 指标值 | |
第二记录信息_1_1 | 榜单1 | 123 | A | IDX1 | 1000 |
第二记录信息_3_1 | 榜单1 | 124 | B | IDX1 | 2000 |
第二记录信息_4_1 | 榜单1 | 125 | C | IDX1 | 3000 |
第二记录信息_1_2 | 榜单1 | 123 | A | IDX2 | 888 |
第二记录信息_3_2 | 榜单1 | 124 | B | IDX2 | 999 |
第二记录信息_4_2 | 榜单1 | 125 | C | IDX2 | 777 |
第二记录信息_1_3 | 榜单1 | 123 | A | IDX3 | 6666 |
第二记录信息_3_3 | 榜单1 | 124 | B | IDX3 | 5555 |
第二记录信息_4_3 | 榜单1 | 125 | C | IDX3 | 4444 |
表7(b)
需要说明的是,包含相同指标的各子集合排列成表7(b)的顺序可以不固定,例如,可以将包含指标IDX2的子集合排列在前,将包含指标IDX1的子集合排列在中,将包含指标IDX3的子集合排列在后。
另外,在本步骤中将第一记录信息拆分为第二记录信息时,可以是针对具有相同维度信息的多条第一记录信息中的一个指标,将多条第一记录信息全部进行拆分后,再依据第二个指标进行拆分,以此类推,最终实现按照多个指标对第一记录信息进行拆分;也可以是针对每条第一记录信息,依次按照多个指标将该条第一记录信息进行拆分后,再拆分下一条第一记录信息,以此类推,最终实现按照多个指标对第一记录信息进行拆分。
步骤103:将具有相同指标的第二记录信息按照包含的指标值进行排序。
较优的,如果具有相同指标的第二记录信息按照表7(b)所示的情形进行排列,则本步骤103中,可针对每个子集合中的具有相同指标的多条第二记录信息,按照包含的指标值进行排序。
对于本步骤中的按照指标值进行排序,包括但不限于以下两种排序方式:
第一种排序方式:根据指标值按由大到小或由小到大的顺序进行排序,以从大到小排序为例,针对两条第二记录信息中的语文成绩这一指标的指标值分别为90和85时,排序结果为:指标值为90的第二记录信息排在指标值为85的第二记录信息之前。
第二种排序方式:根据指标值所属的取值范围,按照所属取值范围的高低进行排序,例如:针对语文成绩这一指标,指标值为100~80时为优,指标值为80~60时为良,指标值为60~0时为差,若两条针对语文成绩这一指标的第二记录信息中的指标值分别为90和85时,由于这两个指标值所属同一取值范围,因此,这两条第二记录信息的排序结果为相等。
仍以表7(b)所示的第二记录信息为例,若按照指标值从小到大的方式进行排序,则可得到表8所示的排序结果:
表8
需要说明的是,排序结果的表现形式并不局限于表8中展示的不改变第二记录信息的排列顺序以指标排序的序号的表现形式,本实施例中也可以直接按照排序顺序调整第二记录信息的排列顺序,根据调整后的第二记录信息来展示排序结果的方式。
在上述步骤101至步骤103的方案中,将包含多个指标的第一记录信息按照指标拆分为只包含一个指标的第二记录信息后,可将包含相同指标的第二记录信息看作为一个整体,对于需要同时针对多个指标进行排序的情况,可调用一次用于排序的函数,对多个指标分别对应的整体第二记录信息进行排序,实现了一次调用完成多指标排序数据处理,从而减少了多指标排序数据处理需要的时间,提高了排序的效率,且减少了调用多次用于排序的函数所占用的系统资源。
利用本实施例一的方案,每当有新的第一记录信息存储在数据库中时,可针对该新增加的第一记录信息执行本实施例一的方案,实现了针对多指标的动态排序。
较优的,本实施例一的方案还可进一步包括步骤104。
步骤104:分别将具有相同主体信息的第二记录信息合并为一条第一记录信息,并显示每条第一记录信息中的主体信息对应的各指标的排序结果。
在本步骤104的方案中为了实现数据库存储的兼容性,将进行排序后的第二记录信息合并为第一记录信息后存储,使得最终存储的第一记录信息的结构满足数据库存储的需求。
以表8所示的排列后的第二记录信息为例,以主体信息123A为单位,将具有该主体信息的第二记录信息合并为一条第一记录信息,在进行信息合并时,将主体信息123A的各指标排序结果也记录在第一记录信息中。针对另外两个主体信息124B和125C的合并方式相同,此时,表8所示的第二记录信息合并为表9所示的排序后的第一记录信息。
表9
在本实施例一中,可以利用分布式并行计算Hadoop中的映射-归约(Map-Reduce)编程模型来实现本申请的方案,也可以利用Hive编写动态脚本程序实现本申请的方案。下面通过实施例二,以利用分布式并行计算Hadoop中Map-Reduce编程模型实现本申请的方案为例进行详细说明。
实施例二
Hadoop是一种用于实现分布式并行计算的软件平台,可以更容易开发和运行处理大规模数据。其中的Map-Reduce是一个用于处理大规模数据的分布式编程模型。它简化了由普通机器组成的超大集群上数据处理任务;在该编程模型中,用户只需把主要精力专注于怎样实现Map-Reduce函数来满足业务需求,而像数据切割、任务调度、结点通讯、系统容错等通用功能由Map-Reduce自动完成。
将本申请的方案利用Hadoop中的Map-Reduce编程模型来实现,能进一步减少对第一记录信息的排序时间,提高排序效率。
本申请实施例二中利用分布式并行计算Map-Reduce编程模型来实现多指标排序数据处理方法,其中,实现多指标排序数据处理时调用Map-Reduce函数的示意图如图2所示。所述方法包括以下步骤:
第一步,调用Map-Reduce函数,用于实现实施例一中步骤101和步骤102的操作。
例如:以表10中的第一记录信息为例,假设用于划分第一记录信息的维度信息为“杭州市”、“1年级”、“2011年期末考试”,则调用Map-Reduce函数,可将表10中的4条第一记录信息划分为同一信息集合中的第一记录信息。
表10
通过调用Map-Reduce函数,可将表10中的第一记录信息,拆分得到表11所示的第二记录信息:
表11
第二步,调用Map-Reduce函数中的KeyComparator、KeyPartitioner、KeyValueComparator类,将具有相同指标的第二记录信息按照包含的指标值进行排序,实现实施例一中的步骤103中的操作。
具体的,利用Map-Reduce中的KeyComparator类将拆分得到的第二记录信息划分为多个子集合。
利用Map-Reduce中的KeyPartitioner类确定以并行和/或串行方式对各子集合中的第二记录信息进行排序。
利用Map-Reduce中的KeyValueComparator类针对每个子集合中的多条第二记录信息,按照包含的指标值进行排序,将表11按照指标值由大到小的排序方式可得到表12所示的排序结果。
表12
第三步:再次调用Map-Reduce函数,实现实施例一中的步骤104的功能,将表12所示的排序后的第二记录信息合并为表13所示的排序后的第一记录信息。
表13
从本实施例二中可以看出,利用本申请的多指标排序数据处理算法,无论第一记录信息中待排序的指标的数量有多少,对该第一记录信息进行多指标排序数据处理时,均只需进行2次Map-Reduce操作,即只调用2次Map-Reduce函数,相较于现有技术中需要针对每一指标分别调用一次Map-Reduce函数而言,极大的减少了系统资源的占用量,且由于不需要多次调用Map-Reduce函数并针对每次调用的Map-Reduce函数进行排序,可有效减少排序占用的时长,提高了多指标排序数据处理的效率。特别是对于目前日益增长的需要排序的指标数量,利用本实施例的方案,在指标数量增加时,并不会使得排序占用的时长有明显增加,因此
本实施例的方案尤其适合应用在用于排序的指标的数量非常巨大的场景。
需要说明的是,本申请实施例一的方案,也可以利用Hive动态生成脚本,实现实施例一中各步骤的功能。
实施例三
基于与本申请实施例一和实施例二的相同构思,本申请实施例三提出一种多指标排序数据处理设备,如图3所示,包括:第一记录信息确定模块31、第二记录信息生成模块32和排序模块33,其中:
第一记录信息确定模块31,用于确定多条具有相同维度信息的第一记录信息,其中,每条第一记录信息中包含了主体信息、该主体信息对应的至少两个指标、各指标对应的指标值。
第二记录信息生成模块32,用于分别将每条第一记录信息按照其中包含的指标拆分为多条第二记录信息,其中,一条第二记录信息中包含一个指标、与该指标对应的一个主体信息,以及该主体信息在该指标下的指标值。
排序模块33,用于将具有相同指标的第二记录信息按照包含的指标值进行排序。
较优的,所述设备还包括:
合并模块34,用于分别将具有相同主体信息的第二记录信息合并为一条第一记录信息,并显示合并后的第一记录信息中的主体信息对应的各指标的排序结果。
子集合划分模块35,用于将拆分得到的第二记录信息划分为多个子集合,所述子集合中包含的第二记录信息具有相同的指标。
较优的,所述第一记录信息确定模块31具体包括:
信息集合划分单元41,用于将所述多条第一记录信息划分为至少一个信息集合,所述信息集合中包含第一记录信息具有相同的维度信息。
确定单元42,用于将任一所述的信息集合中的第一记录信息作为确定的多条具有相同维度信息的第一记录信息。
较优的,所述排序模块33,具体用于针对每个子集合中的多条第二记录信息,按照包含的指标值进行排序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种多指标排序数据处理方法,其特征在于,所述方法包括:
确定多条具有相同维度信息的第一记录信息,其中,每条第一记录信息中包含了主体信息、该主体信息对应的至少两个指标、各指标对应的指标值;
分别将每条第一记录信息按照其中包含的指标拆分为多条第二记录信息,其中,一条第二记录信息中包含一个指标、与该指标对应的一个主体信息,以及该主体信息在该指标下的指标值;
将具有相同指标的第二记录信息按照包含的指标值进行排序;
其中,所述确定多条具有相同维度信息的第一记录信息具体包括:将所述多条第一记录信息划分为至少一个信息集合,所述信息集合中包含的第一记录信息具有相同的维度信息;将任一所述的信息集合中的第一记录信息作为确定的多条具有相同维度信息的第一记录信息。
2.如权利要求1所述的方法,其特征在于,将具有相同指标的第二记录信息按照包含的指标值进行排序之后,所述方法还包括:
分别将具有相同主体信息的第二记录信息合并为一条第一记录信息,并显示合并后的第一记录信息中的主体信息对应的各指标的排序结果。
3.如权利要求1~2任一所述的方法,其特征在于,将第一记录信息拆分为多条第二记录信息之后,且将具有相同指标的第二记录信息按照包含的指标值进行排序之前,所述方法还包括:
将拆分得到的第二记录信息划分为多个子集合,所述子集合中包含的第二记录信息具有相同的指标;
将具有相同指标的第二记录信息按照包含的指标值进行排序,具体包括:
针对每个子集合中的多条第二记录信息,按照包含的指标值进行排序。
4.如权利要求3所述的方法,其特征在于,所述多指标排序数据处理方法通过Hadoop中的映射-归约Map-Reduce编程模型或Hive来实现。
5.如权利要求4所述的方法,其特征在于,将拆分得到的第二记录信息划分为多个子集合,具体包括:
利用Map-Reduce中的KeyComparator类将拆分得到的第二记录信息划分为多个子集合;
针对每个子集合中的多条第二记录信息,按照包含的指标值进行排序,具体包括:
利用Map-Reduce中的KeyPartitioner类确定以并行和/或串行方式对各子集合中的第二记录信息进行排序;
利用Map-Reduce中的KeyValueComparator类针对每个子集合中的多条第二记录信息,按照包含的指标值进行排序。
6.一种多指标排序数据处理设备,其特征在于,所述设备包括:
第一记录信息确定模块,用于确定多条具有相同维度信息的第一记录信息,其中,每条第一记录信息中包含了主体信息、该主体信息对应的至少两个指标、各指标对应的指标值;
第二记录信息生成模块,用于分别将每条第一记录信息按照其中包含的指标拆分为多条第二记录信息,其中,一条第二记录信息中包含一个指标、与该指标对应的一个主体信息,以及该主体信息在该指标下的指标值;
排序模块,用于将具有相同指标的第二记录信息按照包含的指标值进行排序;
其中,所述第一记录信息确定模块具体包括:信息集合划分单元,用于将所述多条第一记录信息划分为至少一个信息集合,所述信息集合中包含的第一记录信息具有相同的维度信息;确定单元,用于将任一所述的信息集合中的第一记录信息作为确定的多条具有相同维度信息的第一记录信息。
7.如权利要求6所述的设备,其特征在于,所述设备还包括:
合并模块,用于分别将具有相同主体信息的第二记录信息合并为一条第一记录信息,并显示合并后的第一记录信息中的主体信息对应的各指标的排序结果。
8.如权利要求6~7任一所述的设备,其特征在于,所述设备还包括:
子集合划分模块,用于将拆分得到的第二记录信息划分为多个子集合,所述子集合中包含的第二记录信息具有相同的指标;
所述排序模块,具体用于针对每个子集合中的多条第二记录信息,按照包含的指标值进行排序。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110325432.6A CN103064862B (zh) | 2011-10-24 | 2011-10-24 | 一种多指标排序数据处理方法及设备 |
HK13107232.8A HK1180072A1 (zh) | 2011-10-24 | 2013-06-21 | 種多指標排序數據處理方法及設備 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110325432.6A CN103064862B (zh) | 2011-10-24 | 2011-10-24 | 一种多指标排序数据处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064862A CN103064862A (zh) | 2013-04-24 |
CN103064862B true CN103064862B (zh) | 2015-12-02 |
Family
ID=48107492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110325432.6A Active CN103064862B (zh) | 2011-10-24 | 2011-10-24 | 一种多指标排序数据处理方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103064862B (zh) |
HK (1) | HK1180072A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105323602A (zh) * | 2014-07-23 | 2016-02-10 | 中兴通讯股份有限公司 | 一种节目排序方法及装置 |
CN105426545A (zh) * | 2015-12-25 | 2016-03-23 | 浪潮集团有限公司 | 一种Hive数据处理的方法及装置 |
CN108460043A (zh) * | 2017-02-20 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 计算数据指标的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799311A (en) * | 1996-05-08 | 1998-08-25 | International Business Machines Corporation | Method and system for generating a decision-tree classifier independent of system memory size |
CN102214207A (zh) * | 2011-04-27 | 2011-10-12 | 百度在线网络技术(北京)有限公司 | 一种用于对信息实体中的属性集合进行排序的方法与设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680791B2 (en) * | 2005-01-18 | 2010-03-16 | Oracle International Corporation | Method for sorting data using common prefix bytes |
-
2011
- 2011-10-24 CN CN201110325432.6A patent/CN103064862B/zh active Active
-
2013
- 2013-06-21 HK HK13107232.8A patent/HK1180072A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799311A (en) * | 1996-05-08 | 1998-08-25 | International Business Machines Corporation | Method and system for generating a decision-tree classifier independent of system memory size |
CN102214207A (zh) * | 2011-04-27 | 2011-10-12 | 百度在线网络技术(北京)有限公司 | 一种用于对信息实体中的属性集合进行排序的方法与设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103064862A (zh) | 2013-04-24 |
HK1180072A1 (zh) | 2013-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077183B (zh) | 一种分布式顺序表的数据导入方法及其系统 | |
CN106897322B (zh) | 一种数据库和文件系统的访问方法和装置 | |
CN103324765B (zh) | 一种基于列存储的多核并行数据查询优化方法 | |
US20140351239A1 (en) | Hardware acceleration for query operators | |
CN102129425B (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
CN103440288A (zh) | 一种大数据存储方法及装置 | |
CN103473325A (zh) | 一种实现生成测试案例数据的系统及方法 | |
CN103440246A (zh) | 用于MapReduce的中间结果数据排序方法及系统 | |
CN111506621A (zh) | 一种数据统计方法及装置 | |
CN108268586A (zh) | 跨多数据表的数据处理方法、装置、介质和计算设备 | |
CN105677763A (zh) | 一种基于Hadoop的图像质量评估系统 | |
CN106202092A (zh) | 数据处理的方法及系统 | |
CN109885395A (zh) | 一种游戏配置表加载内存优化方法及装置 | |
CN103064862B (zh) | 一种多指标排序数据处理方法及设备 | |
CN112396462A (zh) | 基于Clickhouse的人群圈选方法及装置 | |
CN105210059A (zh) | 一种数据处理方法及系统 | |
CN104462080A (zh) | 针对检索结果进行分组统计的索引结构创建方法和系统 | |
CN111062171B (zh) | 基于云计算的efdc模型的应用方法、装置、系统 | |
CN106980673A (zh) | 内存数据库表索引更新方法及系统 | |
CN111475511A (zh) | 基于树状结构的数据存储方法、访问方法、装置及设备 | |
CN116450675A (zh) | 基于元数据及相似度实现任务优化合并方法、系统及装置 | |
CN107391728B (zh) | 数据挖掘方法以及数据挖掘装置 | |
CN113112084B (zh) | 一种教练机后机身研发流程优化方法及装置 | |
CN107451142B (zh) | 在数据库中写入和查询数据的方法与装置及其管理系统和计算机可读存储介质 | |
CN112214494B (zh) | 检索方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1180072 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1180072 Country of ref document: HK |