Apache pig 错误org.apache.pig.tools.grunt.grunt-org.apache.pig.tools.pigscript.parser.tokenmgerror:Unmatched';}';

Apache pig 错误org.apache.pig.tools.grunt.grunt-org.apache.pig.tools.pigscript.parser.tokenmgerror:Unmatched';}';,apache-pig,avro,Apache Pig,Avro,我正在尝试使用AvroStorage()方法存储到HDFS。代码如下所示: store 'data' into 'path' using AvroStorage('schema', $SCHEMA) SCHEMA是我从执行cat'/path/to/SCHEMA/SCHEMA.avsc' 现在我得到一个错误,说: ERROR org.apache.pig.tools.grunt.Grunt - org.apache.pig.tools.pigscript.parser.TokenMgrError

我正在尝试使用AvroStorage()方法存储到HDFS。代码如下所示:

store 'data' into 'path' using AvroStorage('schema', $SCHEMA)
SCHEMA是我从执行
cat'/path/to/SCHEMA/SCHEMA.avsc'
现在我得到一个错误,说:

ERROR org.apache.pig.tools.grunt.Grunt - org.apache.pig.tools.pigscript.parser.TokenMgrError: Unmatched '}'

如果我将
使用AvroStorage('schema',$schema)
更改为
使用AvroStorage()
,程序可以运行,但我想使用该模式。有人能建议出什么问题吗?谢谢

我也有同样的问题。在我的例子中,模式注释中有一些单引号。尝试放置单引号“$SCHEMA”,并尝试替换架构中的所有单引号。e、 g.cat'/path/to/schema/schema.avsc'| sed“s/”//g“

不看$schema很难判断,但我会尝试像AvroStorage('schema','$schema')一样引用它@曲酒加引号也没用。我确信模式是有效的。你能想到还有什么其他原因会导致这种情况吗?谢谢你能分享你的$SCHEMA吗?另外,尝试使用“pig-dryrun”运行,这将显示扩展的pig脚本。