Apache pig ERROR org.apache.pig.backend.hadoop.executionengine.Launcher - Error: org.apache.avro.file.DataFileWriter$AppendWriteException:

Apache pig ERROR org.apache.pig.backend.hadoop.executionengine.Launcher - Error: org.apache.avro.file.DataFileWriter$AppendWriteException:

我正在尝试加载一些数据,按特定字段过滤并将输出存储到 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.Whosebug.id

有人可以指出可能有什么问题吗?我猜这是因为从 HDFS 读取的某些字段为空,而 AvroStorage 不允许这种情况发生?感谢您的任何建议!

您的 avro 架构正在定义一个不允许为空的字段,但您的数据包含一个空值。