我试图将别名和字段传递给pig宏:
define mymac (a1, f, a2) returns void {
foreach (join $a1 on $f, $a2 on field) generate
$a1::$f as $f, $a2::field as field;
};
我出错了
Unexpected character '$'
在第二个 $
在 $a1::$f
当我把宏称为
mymac(x,foo,y);
我也试过了
define mymac (a1, f, af, a2) returns void {
foreach (join $a1 on $f, $a2 on field) generate
$af as $f, $a2::field as field;
};
mymac(x,foo,x::foo,y);
还有更神秘的错误
org.apache.pig.PigServer - exception during parsing: Error during parsing. Pig script failed to parse: at expanding macro
那么,我该怎么办?如何将别名与宏中的字段组合?
1条答案
按热度按时间ejk8hzay1#
你需要输入字段名
''
例如,调用宏时mymac(x,'foo','x::foo',y);
. 我已经测试了你提到的第二种方法,它是有效的。