在Pig中使用CassandraStorage()时,无法将NonSpillableDataBag强制转换为DefaultDataBag

时间:2013-11-18 16:31:50

标签: cassandra apache-pig

我的猪代码有

  

使用CassandraStorage()存储FOO到“cassandra:// ...”;

我将我的数据格式化为一个值后跟一袋元组(CassandraStorage抱怨格式,直到我这样做)。现在当我运行我的Pig脚本时,我收到了错误

  

java.lang.ClassCastException:org.apache.pig.data.NonSpillableDataBag   无法转换为org.apache.pig.data.DefaultDataBag at   org.apache.cassandra.hadoop.pig.CassandraStorage.putNext(CassandraStorage.java:520)

有什么建议吗?请注意,我使用Pig Latin的TOBAG功能来创建包。

谢谢,

麦克

1 个答案:

答案 0 :(得分:0)

在我看来,这是Cassandra 1.2中的一个错误。我能够通过在org.apache.cassandra.hadoop.pig.CassandraStorage中替换所有出现的DefaultDataBag和DataBag来修复它(当然除了代码说新的DefaultDataBag())然后重建Cassandra 1.2。