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