[发明专利]基于mapreduce的大规模稀疏矩阵乘法运算的方法无效
申请号: | 201310033884.6 | 申请日: | 2013-01-29 |
公开(公告)号: | CN103106183A | 公开(公告)日: | 2013-05-15 |
发明(设计)人: | 刘德建;陈宏展;吴拥民;刘飞荣 | 申请(专利权)人: | 福建天晴数码有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F7/523 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mapreduce 大规模 稀疏 矩阵 乘法 运算 方法 | ||
1.一种基于mapreduce的大规模稀疏矩阵乘法运算的方法,其特征在于:假设大规模稀疏矩阵为A和B,A和B的乘积矩阵为C,
A={(i,k,Aik)︱i∈[1,2…m],k∈[1,2…n],Aik≠0},
B={(k,j,Bkj)︱k∈[1,2…n],j∈[1,2…l],Bkj≠0},
求矩阵C={(i,j,Cij)︱i∈[1,2…m],j∈[1,2…l],Cij≠0},
使得i=1,2,..,m;j=1,2,...,l;
所述方法包括:
步骤10、由一个mapreduce Job完成转置矩阵A,输出矩阵A’;
步骤20、变换矩阵B,将矩阵B中以坐标点的存储方式变换为以稀疏向量的存储方式,输出矩阵B’;
步骤30、连接矩阵A’与B’,计算乘积分量,通过连接操作,得到Cij在矩阵A列号k与矩阵B行号k上的乘积分量;
步骤40、合并乘积分量,通过累加乘积分量Cij_k计算Cij。
2.根据权利要求1所述的基于mapreduce的大规模稀疏矩阵乘法运算的方法,其特征在于:所述步骤10的mapreduce的过程具体为:
步骤11、map函数读取矩阵A中的由记录位置与<i,k,Aik>构成的key-value对,然后输出由列号k与对应的稀疏向量partColumnVector<i,Aik>构成的key-value对到中间结果,其中partColumnVector由<i,Aik>为元素构成的稀疏向量;
步骤12、combine函数合并mapper端的中间结果,输出格式与map函数输出一致;
步骤13、reduce函数进一步合并combine函数输出的结果,将来自不同mapper的key相同的partColumnVector合并成完整的列向量columnVector,然后将由列号与columnVector构成的key-value对写到矩阵A’对应的文件路径;
步骤14、最终输出转置后的矩阵A’,其内容是由矩阵A的列号与列向量构成。
3.根据权利要求1所述的基于mapreduce的大规模稀疏矩阵乘法运算的方法,其特征在于:所述步骤20的mapreduce的过程具体为:
步骤21、map函数读取矩阵B中的由记录位置与<k,j,Bkj>构成的key-value对,然后输出由行号k与对应的稀疏向量partRowVector<j,Bkj>构成的key-value对到中间结果,其中partRowVector由<j,Bkj>为元素构成的稀疏向量;
步骤22、combine函数合并mapper端的中间结果,输出格式与map函数输出一致;
步骤23、reduce函数进一步合并combine函数输出的结果,将来自不同mapper的key相同的partRowVector合并成完整的行向量rowVector,然后将由行号与rowVector构成的key-value对写到矩阵B’对应的文件路径;
步骤24、最终输出转置后的矩阵B’,其内容是由矩阵B的行号与行向量构成。
4.根据权利要求1所述的基于mapreduce的大规模稀疏矩阵乘法运算的方法,其特征在于:所述步骤30的mapreduce的过程具体为:
步骤31、map函数将接收的key-value对直接输出到中间结果文件;
步骤32、reduce函数接收到key为k的记录,解析value-list提取columnVector与rowVector,然后将两个向量中的元素进行笛卡尔积连接,计算Cij在矩阵A列号k与矩阵B行号k上的乘积分量Cij_k,最后将<i,j>作为key,Cij_k作为value的键值对写到矩阵C’文件中。
5.根据权利要求1所述的基于mapreduce的大规模稀疏矩阵乘法运算的方法,其特征在于:所述步骤40的mapreduce的过程具体为:
步骤41、map函数将接收的key-value对直接输出到中间结果文件;
步骤42、reduce函数接收到key为<i,j>的记录,对value-list中元素进行求和操作,所得到的和即为Cij,最后将<i,j>作为key,Cij作为value的键值对写到矩阵C文件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴数码有限公司,未经福建天晴数码有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310033884.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电视机控制用手势识别系统
- 下一篇:后台存储器系统接口的动态优化