Apache pig 猪的组织功能
以下清管器代码不起作用:Apache pig 猪的组织功能,apache-pig,Apache Pig,以下清管器代码不起作用: grunt> Register /usr/lib/pig/lib/piggybank.jar ; grunt> define Stitch org.apache.pig.piggybank.evaluation.Stitch(); grunt> data = load 'a' using PigStorage('|') ; grunt> B = Stitch(data,d
grunt> Register /usr/lib/pig/lib/piggybank.jar ;
grunt> define Stitch org.apache.pig.piggybank.evaluation.Stitch();
grunt> data = load 'a' using PigStorage('|') ;
grunt> B = Stitch(data,data);
错误:-
有人能解释一下这里出了什么问题吗 代码中有两个问题 1.不能直接将stitch命令的输出指定给任何关系。它应作为FOREACH stmt的一部分进行规划。 2.Stitch命令将仅将行李作为输入参数,但您正在传递整个关系 您能否修复上述两个问题并重试脚本 示例: 输入: 笔迹: 输出: 参考:
2015-01-06 12:03:57,730 [main] ERROR org.apache.pig.tools.grunt.Grunt -
ERROR 1200: <line 12> Cannot expand macro 'Stitch'.
Reason: Macro must be defined before expansion.
Details at logfile: /home/hduser/nikhil/pig_1420524859398.log
{(a,b),(e,f)} {(c,d),(g,h)}
grunt> REGISTER /tmp/piggybank.jar;
grunt> DEFINE MyStitch org.apache.pig.piggybank.evaluation.Stitch;
grunt> A = LOAD 'input' USING PigStorage() AS (B1:{T:(t1:chararray,t2:chararray)},B2:{T1:(t3:chararray,t4:chararray)});
grunt> B = FOREACH A GENERATE MyStitch(B1,B2);
grunt> DUMP B;
({(a,b,c,d),(e,f,g,h)})