猪宏不带'sh'在体内
Pig macro does not take 'sh' in body
在 Pig 中,这个简单的宏不起作用:
define simple ()
returns void {
sh echo 'Hello World'
};
simple();
它给出了这个错误:
2015-04-06 09:56:00,733 [main] ERROR org.apache.pig.Main - ERROR 1200: <line 10> Failed to parse macro 'simple'. Reason: <line 2, column 0> Syntax error, unexpected symbol at or near 'sh'
macro content:
sh echo 'Hello World'
这是为什么?如果我只是将 "sh echo 'Hello World'" 单独放在一行上,就可以了。如果我用数据集和 return 值等制作更复杂的宏,它就可以正常工作。但是尝试执行 sh 失败了。
来自 Apache Pig 文档:
在 Pig 中,这个简单的宏不起作用:
define simple ()
returns void {
sh echo 'Hello World'
};
simple();
它给出了这个错误:
2015-04-06 09:56:00,733 [main] ERROR org.apache.pig.Main - ERROR 1200: <line 10> Failed to parse macro 'simple'. Reason: <line 2, column 0> Syntax error, unexpected symbol at or near 'sh'
macro content:
sh echo 'Hello World'
这是为什么?如果我只是将 "sh echo 'Hello World'" 单独放在一行上,就可以了。如果我用数据集和 return 值等制作更复杂的宏,它就可以正常工作。但是尝试执行 sh 失败了。
来自 Apache Pig 文档: