在pig中使用cassandrastorage()时,不能将nonspillabledatabag强制转换为defaultdatabag

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

我的Pig代码有一行
将foo存储到“cassandra://...“使用cassandrastorage();
我将数据格式化为一个值,后跟一包元组(在我这么做之前,cassandrastorage一直抱怨格式问题)。现在当我运行我的Pig脚本时,我得到了错误
java.lang.classcastexception:org.apache.pig.data.nonspillabledatabag不能转换为org.apache.pig.data.defaultdatabag,位于org.apache.cassandra.hadoop.pig.cassandrastorage.putnext(cassandrastorage)。java:520)
有什么建议吗?注意,我使用pig-latin的tobag函数来创建包。
谢谢,
迈克

slmsl1lt

slmsl1lt1#

在我看来,这是Cassandra1.2中的一个错误。我可以通过用org.apache.cassandra.hadoop.pig.cassandrastorage中的databag替换所有出现的defaultdatabag来修复它(当然除了代码中说new defaultdatabag())然后重建cassandra1.2。

相关问题