1
我想在拉丁美洲拉丁执行矩阵乘法。这是我迄今的尝试:矩阵乘法阿帕奇猪
matrix1 = LOAD 'mat1' AS (row,col,value);
matrix2 = LOAD 'mat2' AS (row,col,value);
mult_mat = COGROUP matrix1 BY row, matrix2 BY col;
mult_mat = FOREACH mult_mat {
A = COGROUP matrix1 BY col, matrix2 BY row;
B = FOREACH A GENERATE group AS col, matrix1.value*matrix2.value AS prod;
GENERATE group AS row, B.col AS col, SUM(B.prod) AS value;}
但是,这是行不通的。我得到停在
A = COGROUP matrix1...
与
ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 14, column 37> mismatched input 'matrix1' expecting LEFT_PAREN
COGROUP不是嵌套的foreach文件中的有效运算符:https://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#FOREACH。提取:允许的操作是DISTINCT,FILTER,LIMIT,ORDER和SAMPLE。 –