CN105095515A - 支持快速查询Map-Reduce输出结果的分桶方法、装置及设备 - Google Patents
支持快速查询Map-Reduce输出结果的分桶方法、装置及设备 Download PDFInfo
- Publication number
- CN105095515A CN105095515A CN201510580544.4A CN201510580544A CN105095515A CN 105095515 A CN105095515 A CN 105095515A CN 201510580544 A CN201510580544 A CN 201510580544A CN 105095515 A CN105095515 A CN 105095515A
- Authority
- CN
- China
- Prior art keywords
- task
- reduce
- map
- mark
- integer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种支持快速查询Map-Reduce输出结果的分桶方法、装置及设备。其中,该方法包括:获取Reduce任务的数量,并根据数量确定对应的哈希策略;根据哈希策略对Map任务中的key进行哈希计算生成第一整数标识;将第一整数标识作为Reduce任务的标识,并根据Reduce任务的标识分配对应的Reduce任务进行处理。本发明实施例的支持快速查询Map-Reduce输出结果的分桶方法,可以快速查询到Map任务中的key对应的计算结果,提高了数据分析的效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种支持快速查询Map-Reduce输出结果的分桶方法、装置及设备。
背景技术
Map-Reduce是hadoop中的分布式计算模型,且以Key-value(键值)为数据模型,可适合用于大规模数据集(大于1TB)的并行运算。Map(映射)是根据指定的算法对数据集中的各个数据进行计算,并将计算结果交由分桶模块,分桶模块根据指定的条件将计算结果发给相应的Reduce(归约)任务来处理。目前,Map-Reduce的计算结果都很庞大,支持最多99999个part输出文件,而现有的分桶方法大都不能支持快速查询到给定的Map任务中的key在哪个part文件中,只能通过新增Map-Reduce任务遍历所有的结果数据来查询Map任务中的key,这给使用Map-Reduce的数据用户带来了很大的不便。
相关技术中可将Map-Reduce的计算结果存储到HBase(一种分布式的、面向列的开源数据库)、MongoDB(一种非关系型数据库)或mySQL(一种关系型数据库管理系统)中,但是仍然存在以下问题:
1、由于Map-Reduce的计算果果数据量大,其导入到其他存储时,需要耗费大量时间和资源,导入代价较高;
2、如果Map-Reduce是小时级或天级运行的任务,则需要频繁地删除旧的存储记录,并建立新存储记录,数据使用率低,性价比低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种支持快速查询Map-Reduce输出结果的分桶方法,该方法可以快速查询到Map任务中的key对应的计算结果,提高了数据分析的效率。
本发明的第二个目的在于提出一种支持快速查询Map-Reduce输出结果的分桶装置。
本发明的第三个目的在于提出一种设备。
为达上述目的,根据本发明第一方面实施例提出了一种支持快速查询Map-Reduce输出结果的分桶方法,包括以下步骤:获取Reduce任务的数量,并根据所述数量确定对应的哈希策略;根据所述哈希策略对Map任务中的Key进行哈希计算,生成第一整数标识;将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
根据本发明实施例的支持快速查询Map-Reduce输出结果的分桶方法,可根据Reduce任务的数量确定对应的哈希策略,并对Map任务中的Key进行哈希计算生成第一整数标识,再将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,从而可以快速查询到Map任务中的key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
另外,根据本发明上述实施例的支持快速查询Map-Reduce输出结果的分桶方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述方法还包括:对所述Map任务参数进行设置,将所述第一整数标识设置为键值。
根据本发明的一个实施例,所述将所述第一整数标识作为Reduce任务的标识包括:读取所述Map任务的键值,将所述键值作为Reduce任务的标识。
根据本发明的一个实施例,所述方法还包括:用所述第一整数标识命名所述Reduce任务进行处理之后的输出文件。
根据本发明的一个实施例,所述方法还包括:用户端根据所述哈希策略对预设的Key进行哈希计算以生成第二整数标识,从所述Reduce任务进行处理之后的输出文件中查询所述第二整数标识对应的结果数据。
根据本发明的一个实施例,所述第一整数标识和第二整数标识相等。
根据本发明的一个实施例,所述Reduce任务的数量为N,所述第一整数标识和第二整数标识大于或等于零且小于N。
根据本发明第二方面实施例提出了一种支持快速查询Map-Reduce输出结果的分桶装置,包括:确定模块用于获取Reduce任务的数量,根据所述数量确定对应的哈希策略;生成模块,用于根据所述哈希策略对Map任务中的key进行哈希计算以生成第一整数标识;分配模块,用于将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
根据本发明实施例的支持快速查询Map-Reduce输出结果的分桶装置,可通过确定模块根据Reduce任务的数量确定对应的哈希策略,并由生成模块对Map任务中的Key进行哈希计算生成第一整数标识,再通过分配模块将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,从而可以快速查询到Map任务中的key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
另外,根据本发明上述实施例的支持快速查询Map-Reduce输出结果的分桶装置还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述装置还包括设置模块,用于对所述Map任务参数进行设置,将所述第一整数标识设置为键值。
根据本发明的一个实施例,分配模块具体用于读取所述Map任务的键值,将所述键值作为Reduce任务的标识。
根据本发明的一个实施例,所述装置还包括输出模块,用于用所述第一整数标识命名所述Reduce任务进行处理之后的输出文件。
根据本发明的一个实施例,用户端根据所述哈希策略对预设的Key进行哈希计算以生成第二整数标识,从所述Reduce任务进行处理之后的输出文件中查询所述第二整数标识对应的结果数据。
根据本发明的一个实施例,所述第一整数标识和第二整数标识相等。
根据本发明的一个实施例,所述Reduce任务的数量为N,所述第一整数标识和第二整数标识大于或等于零且小于N。
为达上述目的,根据本发明第三方面实施例提出了一种设备,包括外壳、屏幕、处理器和电路板;所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;所述处理器用于处理数据,并具体用于:获取Reduce任务的数量,并根据所述数量确定对应的哈希策略;根据所述哈希策略对Map任务中的Key进行哈希计算,生成第一整数标识;将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
本发明实施例的设备,可根据Reduce任务的数量确定对应的哈希策略,并对Map任务中的Key进行哈希计算生成第一整数标识,再将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,从而可以快速查询到Map任务中的key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的支持快速查询Map-Reduce输出结果的分桶方法的流程图;
图2是根据本发明一个实施例的支持快速查询Map-Reduce输出结果的分桶框架图;
图3是根据本发明另一个实施例的支持快速查询Map-Reduce输出结果的分桶方法的流程图;
图4是根据本发明一个实施例的支持快速查询Map-Reduce输出结果的分桶系统的结构框图;
图5是根据本发明另一个实施例的支持快速查询Map-Reduce输出结果的分桶系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
Map-Reduce是hadoop中的分布式计算模型,可适合用于大规模数据集(大于1TB)的并行运算。Map-Reduce模型主要包括Map、分桶和Reduce三部分,其中,Map任务的计算结果经过分桶后作为Reduce任务的输入,也就是说,Map任务的计算结果可经由不同的分桶算法分发给不同的Reduce任务进行处理,并得到最终处理结果。为了能够便于用户快速定位到Map任务中的key对应的计算结果,本发明提出一种支持快速查询Map-Reduce输出结果的分桶方法及系统。下面参考附图描述本发明实施例的支持快速查询Map-Reduce输出结果的分桶方法、装置及设备。
图1是根据本发明一个实施例的支持快速查询Map-Reduce输出结果的分桶方法的流程图。图2是根据本发明一个实施例的支持快速查询Map-Reduce输出结果的分桶框架图。
如图1和图2所示,该方法包括:
S101,获取Reduce任务的数量,并根据数量确定对应的哈希策略。
其中,哈希即hash,一般译做“散列”,就是把任意长度的输入(又叫做预映射,pre-iMage),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说,哈希策略就是将任意长度的消息压缩为固定长度的消息摘要。
需要说明的是,在本发明的实施例中,哈希策略与Reduce任务的数量相关,换而言之,如果Reduce任务的数量为N,则哈希策略为关于N的哈希函数。
如图2所示,Mapper(即Map任务)确定的哈希策略可为:
hash_id=hash(key)%N,
其中,hash_id为第一整数标识,key为Map任务中的key,N为Reduce任务的数量。
S102,根据哈希策略对Map任务中的Key进行哈希计算生成第一整数标识。
在本发明的实施例中,在Map任务中,可根据哈希策略对应的关于N的哈希函数对Map任务中的Key进行哈希计算生成第一整数标识。其中,该第一整数标识大于或等于零且小于N。
在本发明的一个实施例中,还可包括接收任务数据的步骤,其中,任务数据的第一列为Map任务中的key。需要说明的是,在本发明的其他实施例中,Map任务中的key也可位于任务数据中其他位置,如第2列、第3列等。
应当理解,在Map任务中,所执行的操作(如进行哈希计算等),是对任务数据中的每个元素分别进行相应的操作,每个元素分别独立进行操作。在操作过程中,任务数据并未被更改,而是创建了一个新的列表以存储生成的第一整数标识。因此,Map任务是可以高度并行的,从而能够满足高性能要求的应用以及并行计算领域的需求。
在本发明的一个实施例中,Map任务中的key可为任务数据的标志信息。也就是说,Map任务中的key与任务场景相关,举例来说,如果任务数据为多个用户的通信记录,则Map任务中的key为用户的手机号,如果任务数据为手机中用户的操作记录,则Map任务中的key为手机的设备号。
S103,将第一整数标识作为Reduce任务的标识,并根据Reduce任务的标识分配对应的Reduce任务进行处理。
在本发明的实施例中,N个Reduce任务的标识(reduce_id)分别为0,1,……,N-1,因此,可将第一整数标识对应的数据分配给任务标识一致的Reduce任务。举例来说,如图2所示,Partitioner(分桶模块)可读取Mapper的输出数据中各个Map任务中的key所对应的第一整数标识,并将每个第一整数标识对应的整行数据分配给对应的Reduce任务(Reducer)进行处理。也就是说,按照reduce_id=hash_id的规则将Map输出结果分配至相应的Reduce任务进行处理。
其中,Map任务的输出结果中,可将各个Map任务中的key计算得到的第一整数标识作为输出结果列表的第一列。从而Partitioner可通过读取Map任务的输出结果中的第一列数据以获取第一整数标识。
根据本发明实施例的支持快速查询Map-Reduce输出结果的分桶方法,根据Reduce任务的数量确定对应的哈希策略,并对Map任务中的Key进行哈希计算生成第一整数标识,再将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,从而可以快速查询到Map任务中的Key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
图3是根据本发明另一个实施例的支持快速查询Map-Reduce输出结果的分桶方法的流程图。
如图3和图2所示,该方法包括:
S201,获取Reduce任务的数量,并根据数量确定对应的哈希策略。
其中,哈希即hash,一般译做“散列”,就是把任意长度的输入(又叫做预映射,pre-iMage),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说,哈希策略就是将任意长度的消息压缩为固定长度的消息摘要。
需要说明的是,在本发明的实施例中,哈希策略与Reduce任务的数量相关,换而言之,如果Reduce任务的数量为N,则哈希策略为关于N的哈希函数。
如图2所示,Mapper(即Map任务)确定的哈希策略可为:
hash_id=hash(key)%N,
其中,hash_id为第一整数标识,key为Map任务中的key,N为Reduce任务的数量。
S202,根据哈希策略对Map任务中的Key进行哈希计算生成第一整数标识。
在本发明的实施例中,在Map任务中,可根据哈希策略对应的关于N的哈希函数对Map任务中的Key进行哈希计算生成第一整数标识。其中,该第一整数标识大于或等于零且小于N。
在本发明的一个实施例中,还可包括接收任务数据的步骤,其中,任务数据的第一列为Map任务中的key。需要说明的是,在本发明的其他实施例中,Map任务中的key也可位于任务数据中其他位置,如第2列、第3列等。
应当理解,在Map任务中,所执行的操作(如进行哈希计算等),是对任务数据中的每个元素分别进行相应的操作,每个元素分别独立进行操作。在操作过程中,任务数据并未被更改,而是创建了一个新的列表以存储生成的第一整数标识。因此,Map任务是可以高度并行的,从而能够满足高性能要求的应用以及并行计算领域的需求。
在本发明的一个实施例中,Map任务中的key可为任务数据的标志信息。也就是说,Map任务中的key与任务场景相关,举例来说,如果任务数据为多个用户的通信记录,则Map任务中的key为用户的手机号,如果任务数据为手机中用户的操作记录,则Map任务中的key为手机的设备号。
S203,对Map任务参数进行设置,将第一整数标识设置为键值。
在本发明的实施例中,可将指定的Map任务参数设置为1
具体地,可在Map任务参数中指定mapred.map.output.num.field为1,从而设定以该第一整数标识作为键值,即表示对于分桶模块来说,以该第一整数整数作为key。
S204,读取Map任务的键值,将键值作为Reduce任务的标识,并根据Reduce任务的标识分配对应的Reduce任务进行处理。
在本发明的实施例中,N个Reduce任务的标识(reduce_id)分别为0,1,……,N-1,因此,可将第一整数标识对应的数据分配给任务标识一致的Reduce任务。举例来说,如图2所示,Partitioner(分桶模块)可读取Mapper的输出数据中各个Map任务中的key所对应的第一整数标识,并将每个第一整数标识对应的整行数据分配给对应的Reduce任务(Reducer)进行处理。也就是说,按照reduce_id=hash_id的规则将Map输出结果分配至相应的Reduce任务进行处理。
其中,Map任务的输出结果中,可将各个Map任务中的key计算得到的第一整数标识作为输出结果列表的第一列。从而Partitioner可通过读取Map任务的输出结果中的第一列数据以获取第一整数标识。
S205,用第一整数标识命名Reduce任务进行处理之后的输出文件。
具体地,第i个Reduce任务的处理后的输出文件可用整数标识i命名。
S206,用户端根据哈希策略对预设的Key进行哈希计算以生成第二整数标识,从Reduce任务进行处理之后的输出文件中查询第二整数标识对应的结果数据。
具体地,当用户端要查询处理结果时,用户端可根据与S201中确定的哈希策略对与用户端对应的Map任务中的Key进行哈希计算以生成第二整数标识,然后从Reduce任务进行处理之后的输出文件中查询第二整数标识对应的结果数据。
举例来说,可在Map-Reduce的计算结果的part文件中根据第二整数标识查询Map任务中的Key对应的数据。
在本发明的实施例中,由于第一整数标识与第二整数标识都是对用key基于相同的哈希策略计算得到的,因此第二整数标识和第一整数标识相等,且第二整数标识大于或等于零且小于Reduce任务数量N。
根据本发明实施例的支持快速查询Map-Reduce输出结果的分桶方法,根据Reduce任务的数量确定对应的哈希策略,并对Map任务中的Key进行哈希计算生成第一整数标识,再将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,然后用户端可根据由相同的哈希策略计算生成的第二整数标识查询Reduce任务的结果数据,从而可以快速查询到Map任务中的Key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
图4是根据本发明一个实施例的支持快速查询Map-Reduce输出结果的分桶装置的框图。
如图4所示,该支持快速查询Map-Reduce输出结果的分桶装置包括:确定模块10、生成模块20和分配模块30,其中:
确定模块10用于获取Reduce任务的数量,根据数量确定对应的哈希策略。
生成模块20用于根据哈希策略对Map任务中的Key进行哈希计算以生成第一整数标识。
其中,哈希即hash,一般译做“散列”,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说,哈希策略就是将任意长度的消息压缩为固定长度的消息摘要。
需要说明的是,在本发明的实施例中,哈希策略与Reduce任务的数量相关,换而言之,如果目Reduce务的数量为N,则哈希策略为关于N的哈希函数。
如图2所示,Mapper(即Map任务)确定的哈希策略可为:
hash_id=hash(key)%N,
其中,hash_id为第一整数标识,key为Map任务中的key,N为Reduce任务的数量。
在本发明的实施例中,在Map任务中,生成模块20可根据哈希策略对应的关于N的哈希函数对Map任务中的key进行哈希计算生成第一整数标识。其中,该第一整数标识大于或等于零且小于N。
在本发明的实施例中,需要将指定的Map任务参数设置为1,将第一整数标识设置为键值。并读取Map任务的键值,将该键值作为Reduce任务的标识。
在本发明的一个实施例中,生成模块20还可用于接收任务数据,其中,任务数据的第一列为Map任务中的key。需要说明的是,在本发明的其他实施例中,Map任务中的key也可位于任务数据中其他位置,如第2列、第3列等。
应当理解,在Map任务中,生成模块20所执行的操作(如进行哈希计算等),是对任务数据中的每个元素分别进行相应的操作,每个元素分别独立进行操作。在操作过程中,任务数据并未被更改,而是创建了一个新的列表以存储生成的第一整数标识。因此,Map任务是可以高度并行的,从而能够满足高性能要求的应用以及并行计算领域的需求。
在本发明的一个实施例中,Map任务中的key可为任务数据的标志信息。也就是说,Map任务中的key与任务场景相关,举例来说,如果任务数据为多个用户的通信记录,则Map任务中的key为用户的手机号,如果任务数据为手机中用户的操作记录,则Map任务中的key为手机的设备号。
分配模块30用于将第一整数标识作为Reduce任务的标识,并根据Reduce任务的标识分配对应的Reduce任务进行处理。
如图5所示,在本发明的实施例中,该支持快速查询Map-Reduce输出结果的分桶装置还包括设置40和输出模块50。其中,设置模块40用于对Map任务参数进行设置,将第一整数标识设置为键值,并设置指定Map任务参数为1;输出模块50用于用第一整数标识命名Reduce任务进行处理之后的输出文件。
在本发明的实施例中,N个Reduce任务的标识(reduce_id)分别为0,1,……,N-1,因此,分配模块30可将第一整数标识对应的数据分配给任务标识一致的Reduce任务。举例来说,如图2所示,Partitioner可读取Mapper的输出数据中各个Map任务中的key所对应的第一整数标识,并将每个第一整数标识对应的整行数据分配给对应的Reduce任务(Reducer)进行处理。也就是说,按照reduce_id=hash_id的规则将Map输出结果分配至相应的Reduce任务进行处理。
其中,Map任务的输出结果中,可将各个Map任务中的key计算得到的第一整数标识作为输出结果列表的第一列。从而分配模块30可通过读取Map任务的输出结果中的第一列数据以获取第一整数标识。
具体地,可在Map任务参数中指定mapred.map.output.num.field为1,从而设定对于分配模块30来说,以该第一整数标识作为键值。
在本发明的一个实施例中,用户端用于根据哈希策略对Map任务中的key进行哈希计算以生成第二整数标识,从Reduce任务进行处理之后的输出文件中查询第二整数标识对应的结果数据。
具体地,当用户端40要查询处理结果时,用户端40可根据与确定模块10确定的哈希策略对与用户端40对应的Map任务中的key进行哈希计算以生成第二整数标识,然后根据第二整数标识在Reduce任务的处理结果中找到相同标识对应的处理结果。
举例来说,用户端40可在Map-Reduce的计算结果的part文件中根据第二整数标识查询Map任务中的key对应的数据。
在本发明的实施例中,由于第一整数标识与第二整数标识都是对用key基于相同的哈希策略计算得到的,因此第二整数标识和第一整数标识相等,且第二整数标识大于或等于零且小于Reduce任务数量N。
根据本发明实施例的支持快速查询Map-Reduce输出结果的分桶装置,可通过确定模块根据Reduce任务的数量确定对应的哈希策略,并通过生成模块对Map任务中的key进行哈希计算生成第一整数标识,再通过分配模块将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,从而可以快速查询到Map任务中的key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
进一步地,为了实现上述实施例,本发明的实施例还公开了一种设备,该设备包括外壳、屏幕、处理器和电路板。其中,屏幕安置在外壳上,电路板安置在外壳围成的空间内部,处理器设置在电路板上,处理器用于处理数据。
具体地,处理器用于获取Reduce任务的数量,并根据数量确定对应的哈希策略;根据哈希策略对Map任务中的Key进行哈希计算,生成第一整数标识;将第一整数标识作为Reduce任务的标识,并根据Reduce任务的标识分配对应的Reduce任务进行处理。
本发明实施例的设备,可根据Reduce任务的数量确定对应的哈希策略,并对Map任务中的Key进行哈希计算生成第一整数标识,再将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,从而可以快速查询到Map任务中的key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
需要说明的是,本发明实施例的设备的具体实现方式与本发明实施例的分桶方法的具体实现方式类似,具体请参见方法部分的描述,为了减少冗余,此处不做赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种支持快速查询Map-Reduce输出结果的分桶方法,其特征在于,包括:
获取Reduce任务的数量,并根据所述数量确定对应的哈希策略;
根据所述哈希策略对Map任务中的Key进行哈希计算生成第一整数标识;
将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
2.如权利要求1所述的支持快速查询Map-Reduce输出结果的分桶方法,其特征在于,所述方法还包括:
对所述Map任务参数进行设置,将所述第一整数标识设置为键值。
3.如权利要求2所述的支持快速查询Map-Reduce输出结果的分桶方法,其特征在于,所述将所述第一整数标识作为Reduce任务的标识包括:
读取所述Map任务的键值,将所述键值作为Reduce任务的标识。
4.如权利要求2所述的支持快速查询Map-Reduce输出结果的分桶方法,其特征在于,所述方法还包括:
用所述第一整数标识命名所述Reduce任务进行处理之后的输出文件。
5.如权利要求2所述的支持快速查询Map-Reduce输出结果的分桶方法,其特征在于,所述方法还包括:
用户端根据所述哈希策略对预设的Key进行哈希计算以生成第二整数标识,从所述Reduce任务进行处理之后的输出文件中查询所述第二整数标识对应的结果数据。
6.如权利要求5所述的支持快速查询Map-Reduce输出结果的分桶方法,其特征在于,所述第一整数标识和第二整数标识相等。
7.如权利要求5所述的支持快速查询Map-Reduce输出结果的分桶方法,其特征在于,所述Reduce任务的数量为N,所述第一整数标识和第二整数标识大于或等于零且小于N。
8.一种支持快速查询Map-Reduce输出结果的分桶装置,其特征在于,包括:
确定模块,用于获取Reduce任务的数量,根据所述数量确定对应的哈希策略;
生成模块,用于根据所述哈希策略对Map任务中的Key进行哈希计算生成第一整数标识;
分配模块,用于将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
9.如权利要求8所述的支持快速查询Map-Reduce输出结果的分桶装置,其特征在于,所述装置还包括:
设置模块,用于对所述Map任务参数进行设置,将所述第一整数标识设置为键值。
10.一种设备,其特征在于,包括外壳、屏幕、处理器和电路板,其中,
所述屏幕安置在所述外壳上,所述电路板安置在所述外壳围成的空间内部,所述处理器设置在所述电路板上;
所述处理器用于处理数据,并具体用于:
获取Reduce任务的数量,并根据所述数量确定对应的哈希策略;
根据所述哈希策略对Map任务中的Key进行哈希计算,生成第一整数标识;
将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510580544.4A CN105095515A (zh) | 2015-09-11 | 2015-09-11 | 支持快速查询Map-Reduce输出结果的分桶方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510580544.4A CN105095515A (zh) | 2015-09-11 | 2015-09-11 | 支持快速查询Map-Reduce输出结果的分桶方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095515A true CN105095515A (zh) | 2015-11-25 |
Family
ID=54575950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510580544.4A Pending CN105095515A (zh) | 2015-09-11 | 2015-09-11 | 支持快速查询Map-Reduce输出结果的分桶方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095515A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701215A (zh) * | 2016-01-13 | 2016-06-22 | 北京中交兴路信息科技有限公司 | 基于Hadoop MapReduce的数据连接方法及装置 |
WO2018040488A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种处理连接查询的方法及装置 |
CN109992372A (zh) * | 2017-12-29 | 2019-07-09 | 中国移动通信集团陕西有限公司 | 一种基于映射归约的数据处理方法及装置 |
CN110046638A (zh) * | 2018-12-29 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 多平台间数据的融合方法、装置及设备 |
CN114461381A (zh) * | 2021-12-27 | 2022-05-10 | 天翼云科技有限公司 | 一种日志数据处理方法及装置 |
CN116662811A (zh) * | 2023-06-13 | 2023-08-29 | 无锡物联网创新中心有限公司 | 一种工业设备的时序状态数据重构方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183368A (zh) * | 2007-12-06 | 2008-05-21 | 华南理工大学 | 联机分析处理中分布式计算及查询海量数据的方法和系统 |
CN102629219A (zh) * | 2012-02-27 | 2012-08-08 | 北京大学 | 并行计算框架中的Reduce端自适应负载均衡方法 |
CN102831120A (zh) * | 2011-06-15 | 2012-12-19 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及系统 |
CN103473121A (zh) * | 2013-08-20 | 2013-12-25 | 西安电子科技大学 | 一种基于云计算平台的海量图片并行处理方法 |
US20130346970A1 (en) * | 2012-06-26 | 2013-12-26 | Wal-Mart Stores, Inc. | Systems and methods for event stream processing |
US20140047422A1 (en) * | 2012-08-07 | 2014-02-13 | Nec Laboratories America, Inc. | Compiler-guided software accelerator for iterative hadoop jobs |
-
2015
- 2015-09-11 CN CN201510580544.4A patent/CN105095515A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183368A (zh) * | 2007-12-06 | 2008-05-21 | 华南理工大学 | 联机分析处理中分布式计算及查询海量数据的方法和系统 |
CN102831120A (zh) * | 2011-06-15 | 2012-12-19 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及系统 |
CN102629219A (zh) * | 2012-02-27 | 2012-08-08 | 北京大学 | 并行计算框架中的Reduce端自适应负载均衡方法 |
US20130346970A1 (en) * | 2012-06-26 | 2013-12-26 | Wal-Mart Stores, Inc. | Systems and methods for event stream processing |
US20140047422A1 (en) * | 2012-08-07 | 2014-02-13 | Nec Laboratories America, Inc. | Compiler-guided software accelerator for iterative hadoop jobs |
CN103473121A (zh) * | 2013-08-20 | 2013-12-25 | 西安电子科技大学 | 一种基于云计算平台的海量图片并行处理方法 |
Non-Patent Citations (1)
Title |
---|
蔡立志等: "《大数据测评》", 31 January 2015, 上海:上海科学技术出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701215A (zh) * | 2016-01-13 | 2016-06-22 | 北京中交兴路信息科技有限公司 | 基于Hadoop MapReduce的数据连接方法及装置 |
CN105701215B (zh) * | 2016-01-13 | 2019-03-22 | 北京中交兴路信息科技有限公司 | 基于Hadoop MapReduce的数据连接方法及装置 |
WO2018040488A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种处理连接查询的方法及装置 |
US11030196B2 (en) | 2016-08-31 | 2021-06-08 | Huawei Technologies Co., Ltd. | Method and apparatus for processing join query |
CN109992372A (zh) * | 2017-12-29 | 2019-07-09 | 中国移动通信集团陕西有限公司 | 一种基于映射归约的数据处理方法及装置 |
CN110046638A (zh) * | 2018-12-29 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 多平台间数据的融合方法、装置及设备 |
CN114461381A (zh) * | 2021-12-27 | 2022-05-10 | 天翼云科技有限公司 | 一种日志数据处理方法及装置 |
CN116662811A (zh) * | 2023-06-13 | 2023-08-29 | 无锡物联网创新中心有限公司 | 一种工业设备的时序状态数据重构方法及相关装置 |
CN116662811B (zh) * | 2023-06-13 | 2024-02-06 | 无锡物联网创新中心有限公司 | 一种工业设备的时序状态数据重构方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095515A (zh) | 支持快速查询Map-Reduce输出结果的分桶方法、装置及设备 | |
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
US20160246829A1 (en) | Managing time series databases | |
CN107704202B (zh) | 一种数据快速读写的方法和装置 | |
CN102129425B (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
CN106970958B (zh) | 一种流文件的查询与存储方法和装置 | |
CN112287182A (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
CN107870728A (zh) | 用于移动数据的方法和设备 | |
CN103488687A (zh) | 用于大数据的搜索系统和搜索方法 | |
WO2021103403A1 (zh) | 区块链交易信息管理方法、装置、计算机设备及存储介质 | |
CN108563697B (zh) | 一种数据处理方法、装置和存储介质 | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN111966631A (zh) | 一种可快速分发的镜像文件生成方法、系统、设备和介质 | |
US11693858B2 (en) | Access path optimization | |
CN112000703A (zh) | 数据入库处理方法、装置、计算机设备和存储介质 | |
CN102932416B (zh) | 一种信息流任务的中间数据存储方法、处理方法及装置 | |
CN103365923A (zh) | 用于评估数据库的分区方案的方法和装置 | |
CN103678591A (zh) | 自动执行多业务单据统计处理的装置和方法 | |
US20190236752A1 (en) | Wide key hash table for a graphics processing unit | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN108153883B (zh) | 搜索方法和装置、计算机设备、程序产品以及存储介质 | |
CN110175262A (zh) | 基于聚类的深度学习模型压缩方法、存储介质及系统 | |
CN106056458B (zh) | 一种数字油田综合应用系统 | |
CN103678545A (zh) | 进行网络资源聚类的方法及装置 | |
CN113626650A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |