[发明专利]基于mapreduce框架的超大规模稀疏矩阵乘法运算的方法在审
申请号: | 201410845357.X | 申请日: | 2014-12-31 |
公开(公告)号: | CN104462023A | 公开(公告)日: | 2015-03-25 |
发明(设计)人: | 蒋伟;姚键;潘柏宇;卢述奇 | 申请(专利权)人: | 合一网络技术(北京)有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mapreduce 框架 超大规模 稀疏 矩阵 乘法 运算 方法 | ||
1.一种基于mapreduce框架下的大规模稀疏矩阵乘法运算的方法,即求矩阵C,使得C=A*B,其中A的存储格式为(i,k,Aik),B的存储格式为(k,j,Bkj),C的存储格式为(i,j,Cij),其中1≤i≤m, 1≤k≤n, 1≤j≤l,所述算法由2个mapreduce的job完成,包括如下步骤:
步骤1:第一个job,该job需要两个mapper和1个reduce完成:
(i) 生成mapper1:对矩阵A的每一个元素(i,k,Aik),输出一个key-value对, mapper1的key和value分别为key-value对的形式,其中,key为(k, A’),value为(i, Aik), A’为常数,表示属于矩阵A;
(ii) 生成mapper2:对矩阵B的每一个元素(k,j,Bkj),输出一个key-value对, mapper2的key和value分别为key-value对的形式,其中,key为(k,B”),value为(j, Bkj) , B”为常数,表示属于矩阵B;
(iii) partitioner : 将mapper1和mapper2输出的key-value对按照key中的key-value对中的key 的hash进行partition;
(iv) groupingComprator: 将mapper1和mapper2输出的key-value对按照key中的key-value对中的key进行分组;
(v) reduce: 对reduce的每一个分组,声明两个hashmap,记为hashmapA和hashmapB,对mapper1和mapper2中的每一个value,将所述value所采用的key-value对放到hashmap,如果mapper1和mapper2中的所述value对应的key的value是A’,则将mapper1和mapper2中的所述value放到hashmapA中, 如果mapper1和mapper2中的所述value对应key的value是B”,则将其放到hashmapB中,由于在mapper1和mapper2中,所述value采用的是key-value对的形式,则,所述hashmapA和hashmapB中的key为所述mapper的value的key,value为所述mapper的value的value;
(vi)对hashmapA的每一个元素(keyA,valueA)和hashmapB的每一个元素(keyB,valueB)做运算,输出一个key-value对,其中key为(keyA,keyB),value为valueA*valueB;
步骤2:第二个job,该job由一个mapper和一个reduce完成,
(i)mapper:对每一个元素之间输出原样输出
(ii)reducer: 对key相同的元素进行分组,对值进行累加。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合一网络技术(北京)有限公司,未经合一网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410845357.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:面向计算机辅助翻译的输入方法与装置
- 下一篇:一种单片机通用写入器硬件平台