Apache pig 使用参数读取行李的特定字段

Apache pig 使用参数读取行李的特定字段,apache-pig,Apache Pig,我正在努力完成Alan Gates编写的Pig程序,在介绍宏功能的脚本中出现了一个错误: 错误是今年的每日::$daily\u symbol中双冒号后出现意外的$符号 在不替换线路的情况下,您将如何解决此问题: $analyzed = foreach jnd generate divsthisyear::symbol, $daily_close - $daily_open; 不能在宏内部使用参数替换。参数应显式传递给宏,参数替换仅在顶层使用 可以使用-dryrun命令行参数查看宏是如何在线展开

我正在努力完成Alan Gates编写的Pig程序,在介绍宏功能的脚本中出现了一个错误:

错误是今年的
每日::$daily\u symbol
中双冒号后出现意外的
$
符号

在不替换线路的情况下,您将如何解决此问题:

$analyzed = foreach jnd generate divsthisyear::symbol, $daily_close - $daily_open;

不能在宏内部使用参数替换。参数应显式传递给宏,参数替换仅在顶层使用

可以使用-dryrun命令行参数查看宏是如何在线展开的


因此,无论如何,您不能以这种方式在宏中使用参数。

有任何来源支持您的答案吗?因为这个例子来自《编程猪》一书,是宏中参数替换的例子,所以从定义上讲它不起作用听起来很奇怪。是否存在版本相关的情况?或者即使是最新的猪版本也不允许这样做?(答案来源)对于版本依赖项,您必须注意它。我不是很确定。
$analyzed = foreach jnd generate divsthisyear::symbol, $daily_close - $daily_open;