发明名称 | 基于mapreduce的大规模稀疏矩阵乘法运算的方法 | ||
摘要 | 本发明提供一种基于mapreduce的大规模稀疏矩阵乘法运算的方法,假设大规模稀疏矩阵为A和B,A和B的乘积矩阵为C,方法包括:步骤10、由一个mapreduce Job完成转置矩阵A,输出矩阵A’;步骤20、变换矩阵B,将矩阵B中以坐标点的存储方式变换为以稀疏向量的存储方式,输出矩阵B’;步骤30、连接矩阵A’与B’,计算乘积分量,通过连接操作,得到Cij在矩阵A列号k与矩阵B行号k上的乘积分量;步骤40、合并乘积分量,通过累加乘积分量Cij_k计算Cij。将大规模矩阵乘法运算转换为转置、变换、连接与合并等适合mapreduce计算的基本操作,从而解决单机大矩阵乘法运算的资源限制问题。 | ||
申请公布号 | CN103106183A | 申请公布日期 | 2013.05.15 |
申请号 | CN201310033884.6 | 申请日期 | 2013.01.29 |
申请人 | 福建天晴数码有限公司 | 发明人 | 刘德建;陈宏展;吴拥民;刘飞荣 |
分类号 | G06F17/16(2006.01)I;G06F7/523(2006.01)I | 主分类号 | G06F17/16(2006.01)I |
代理机构 | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人 | 宋连梅 |
主权项 | 1.一种基于mapreduce的大规模稀疏矩阵乘法运算的方法,其特征在于:假设大规模稀疏矩阵为A和B,A和B的乘积矩阵为C,A={(i,k,A<sub>ik</sub>)︱i∈[1,2…m],k∈[1,2…n],A<sub>ik</sub>≠0},B={(k,j,B<sub>kj</sub>)︱k∈[1,2…n],j∈[1,2…l],B<sub>kj</sub>≠0},求矩阵C={(i,j,C<sub>ij</sub>)︱i∈[1,2…m],j∈[1,2…l],C<sub>ij</sub>≠0},使得<img file="FDA00002788267600011.GIF" wi="567" he="73" />i=1,2,..,m;j=1,2,...,l;所述方法包括:步骤10、由一个mapreduce Job完成转置矩阵A,输出矩阵A’;步骤20、变换矩阵B,将矩阵B中以坐标点的存储方式变换为以稀疏向量的存储方式,输出矩阵B’;步骤30、连接矩阵A’与B’,计算乘积分量,通过连接操作,得到C<sub>ij</sub>在矩阵A列号k与矩阵B行号k上的乘积分量;步骤40、合并乘积分量,通过累加乘积分量C<sub>ij_k</sub>计算C<sub>ij</sub>。 | ||
地址 | 350000 福建省福州市福州开发区星发路8号 |