Apache pig 如何在Pig中使用Avro数据

Apache pig 如何在Pig中使用Avro数据,apache-pig,avro,Apache Pig,Avro,我正在尝试使用提供的“AvroStorage”加载功能将Avro数据文件加载到pig中。数据是从python脚本生成的,该脚本使用python的avro库将文本数据转换为avro格式。即使我只是试着跑步 out = LOAD "path/to/file.avro" using AvroStorage(); 我得到了错误 java.lang.ClassCastException: org.apache.avro.util.Utf8 cannot be cast to java.lang.Stri

我正在尝试使用提供的“AvroStorage”加载功能将Avro数据文件加载到pig中。数据是从python脚本生成的,该脚本使用python的avro库将文本数据转换为avro格式。即使我只是试着跑步

out = LOAD "path/to/file.avro" using AvroStorage();
我得到了错误

java.lang.ClassCastException: org.apache.avro.util.Utf8 cannot be cast to java.lang.String
我正在使用avro版本1.7.7创建数据

我不知道如何判断pig函数使用的是哪个版本的avro,但是pig版本是0.12


有人知道我为什么会出现这个错误吗?

你可以在pig中注册一个jar

REGISTER <local path>/avro-1.7.7.jar;
out = LOAD "path/to/file.avro" using AvroStorage();
寄存器/avro-1.7.7.jar;
out=使用AvroStorage()加载“path/to/file.avro”;
关于该错误,pig版本0.12中报告了一个错误,该错误已修复