Apache pig pig:用导入的脚本描述

Apache pig pig:用导入的脚本描述,apache-pig,Apache Pig,我可以在imported脚本中使用description 我有一个脚本foo.pig foo = ...; describe foo; 当我执行pig-f bar.pig和bar.pig包含导入'foo.pig'时,我得到 ERROR org.apache.pig.Main - ERROR 1200: <file foo.pig, line 2, column 0> Syntax error, unexpected symbol at or near 'describe' ER

我可以在
import
ed脚本中使用
description

我有一个脚本
foo.pig

foo = ...;
describe foo;
当我执行
pig-f bar.pig
bar.pig
包含
导入'foo.pig'
时,我得到

ERROR org.apache.pig.Main - ERROR 1200: <file foo.pig, line 2, column 0>  Syntax error, unexpected symbol at or near 'describe'
ERROR org.apache.pig.Main-错误1200:语法错误,在“descripe”处或附近出现意外符号

为什么?

导入的脚本(是否包含宏)只能包含语句,但descripe是由grunt解释的命令。请参阅。

导入的脚本(是否包含宏)只能包含语句,但descripe是由grunt解释的命令。请参阅。

这不是预期的功能,但它是宏实现方式的副作用。猪 实际上它有两个解析器。一个解析Pig拉丁语,另一个被Grunt使用, 贝壳。Grunt不懂Pig拉丁语,但它知道如何将其传递给Pig拉丁语解析器。 猪拉丁语对咕噜一无所知

描述、转储、解释和演示都是用Grunt而不是Pig拉丁语实现的。宏是 在调用Grunt之前,由Pig拉丁语法分析器解析(即替换并内联写入)。 因为Pig拉丁语解析器不理解Grunt命令,所以当遇到Grunt命令时,它会抱怨
它们在宏中。

这不是一个预期的功能,但它是宏实现方式的副作用。猪 实际上它有两个解析器。一个解析Pig拉丁语,另一个被Grunt使用, 贝壳。Grunt不懂Pig拉丁语,但它知道如何将其传递给Pig拉丁语解析器。 猪拉丁语对咕噜一无所知

描述、转储、解释和演示都是用Grunt而不是Pig拉丁语实现的。宏是 在调用Grunt之前,由Pig拉丁语法分析器解析(即替换并内联写入)。 因为Pig拉丁语解析器不理解Grunt命令,所以当遇到Grunt命令时,它会抱怨
它们在宏中。

是否尝试删除
descripe
语句以查看其是否有效?是的,它在没有descripe的情况下有效。是否尝试删除
descripe
语句以查看其是否有效?是的,它在没有descripe的情况下有效。