如何在pig中使用avro数据

col17t5w  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(311)

我正在尝试使用提供的“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。
有人知道我为什么会犯这个错误吗?

epggiuax

epggiuax1#

你可以在pig中注册一个jar

REGISTER <local path>/avro-1.7.7.jar;
out = LOAD "path/to/file.avro" using AvroStorage();

关于这个错误,在pig版本0.12中报告了一个bug,并且已经修复了https://issues.apache.org/jira/browse/pig-3297

相关问题