【发布时间】:2013-12-24 18:23:44
【问题描述】:
我正在像这样使用 AvroStorage:
STORE alias INTO '$OUTPUT'
USING org.apache.pig.piggybank.storage.avro.AvroStorage('{
"index" : 1,
"schema_uri": "file://path/schema.avsc"}');
因此,从本地文件系统而不是 HDFS 获取 schema.avsc 是明确的。
它在伪分布式集群中工作,但在正常集群上失败,模式文件出现 java.io.FileNotFoundException 看起来这发生在后端。
我认为这是因为 AvroStorage 在一个节点上的后端调用,与我运行 pig 脚本的节点不同,无法在本地文件系统中找到该文件。 为什么它不能使用前端调用的模式文件? 这是否意味着我仅限于 schema_uri 的 HDFS 位置或使用在 AvroStorage 参数中嵌入架构字符串?
【问题讨论】:
标签: hadoop apache-pig avro