矩陣乘法是什么,在CGFT考試科目中的《大數(shù)據(jù)技術原理及應用》是怎么實現(xiàn)的呢?融躍小編給你總結了一下知識點,看看你知道嗎?
矩陣M第i行第j列的元素記為m,矩陣N中的第j行第k列的元素記為nj,矩陣P=M*N,第:行第k列元素為Pa=<ERR>m,nk。
我們可以把矩陣看成一個帶有3個屬性的關系:行下標、列下標和信因此,矩陣M可以看成關系M,記為M(LJ,V),元組為<i,j,mi>,矩陣N可以看作關系N,記為N(J,K,W),元組為<ikn》矩陣乘法可以看作是一個自然連接運算再加上分組聚合運算。
關系M和N根據(jù)公共屬性J將每個元組連接得到元組<ij,k,v,w>,這個五字段元組代表了兩個矩陣的元素對<mg,nA>,對矩陣元素進行求積運算后可以得到四字段元組<ij,k,vxw>,然后可以進行分組聚合運算,其中,1、K是分組屬性,VxW的和是聚合結果。綜上所述,矩陣乘法可以通過兩個MapReduce運算的串聯(lián)來實現(xiàn),整個過程如下。
1.自然連接階段
Map函數(shù):對每個矩陣元素m產(chǎn)生一個鍵值對<,<M,i,m>,對每個矩陣元素n產(chǎn)生一個鍵值對<,<N,k,n>>>。
Reduce函數(shù):對每個相同鍵j,輸出所有滿足形式<i,<i,k,min&》的元組。
2.分組聚合階段
Map函數(shù):對自然連接階段產(chǎn)生的鍵值對<j,<<i1,k1,v1>,<iz,k2,v2>,<ipkmy)》(其中,每個va是對應的mg和njq的乘積),Map任務會產(chǎn)生P個鍵值對<<<<ERR>,
v2>,...,<ip,k;p>,vp>>
Reduce函數(shù):對每個鍵<i,k>,計算與此鍵關聯(lián)的所有值的和,結果記為<>,w,其中,v就是矩陣P的第i行、第k列的值。