Apache pig 错误 org.apache.pig.backend.hadoop.executionengine.Launcher - 错误:org.apache.avro.file.DataF
Posted
技术标签:
【中文标题】Apache pig 错误 org.apache.pig.backend.hadoop.executionengine.Launcher - 错误:org.apache.avro.file.DataFileWriter$AppendWriteException:【英文标题】:Apache pig ERROR org.apache.pig.backend.hadoop.executionengine.Launcher - Error: org.apache.avro.file.DataFileWriter$AppendWriteException: 【发布时间】:2018-07-15 04:59:24 【问题描述】:我正在尝试加载一些数据,按特定字段过滤并将输出存储到 HDFS。我的代码如下:
data = LOAD '$inputPath' using AvroStorage();
data = FILTER data by condition;
STORE data INTO '$outputPath'using AvroStorage('schema', '$SCHEMA');
但我收到一条错误消息:
ERROR org.apache.pig.backend.hadoop.executionengine.Launcher - Error: org.apache.avro.file.DataFileWriter$AppendWriteException: java.lang.NullPointerException: null of int of int in field id of com.***.id
有人可以提出什么问题吗?我猜这是因为从 HDFS 读取的某些字段为空,而 AvroStorage 不允许这种情况发生?感谢您的任何建议!
【问题讨论】:
【参考方案1】:您的 avro 架构正在定义一个不允许 null 但您的数据包含 null 的字段。
【讨论】:
谢谢!大多数时候可能是这种情况。就我而言,我拥有的架构与 HDFS 上的架构之间存在一些轻微的不匹配,因此如果有人遇到类似问题,请务必检查这一点。 啊,我明白了。那时我错了。我还是这个 *** 的新手,但在这种情况下,您不需要选择我的答案?以上是关于Apache pig 错误 org.apache.pig.backend.hadoop.executionengine.Launcher - 错误:org.apache.avro.file.DataF的主要内容,如果未能解决你的问题,请参考以下文章
Pig 错误:无法找到或加载主类 org.apache.pig.Main
Pig 0.13 错误 2998:未处理的内部错误。 org/apache/hadoop/mapreduce/task/JobContextImpl
猪拉丁语:错误 org.apache.pig.tools.grunt.Grunt - 错误 1045
无法解决这些错误 Java (Pig UDF) 添加库、org.apache
PIG 脚本错误:java.lang.NoSuchMethodError:org.apache.thrift.protocol.TProtocol.getScheme
Pig AvroStorage + 记录中不支持的类型:类 org.apache.pig.data.DataByteArray