При использовании CassandraStorage() в Pig невозможно преобразовать NonSpillableDataBag в DefaultDataBag.

Мой код свиньи имеет строку

СОХРАНИТЕ 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)

Какие-либо предложения? Обратите внимание, что для создания сумки я использовал функцию TOBAG Pig Latin.

Спасибо,

Майк


person user2913094    schedule 18.11.2013    source источник


Ответы (1)


Мне кажется, что это ошибка в Cassandra 1.2. Я смог исправить это, заменив все вхождения DefaultDataBag на DataBag в org.apache.cassandra.hadoop.pig.CassandraStorage (за исключением, конечно, того места, где в коде указано new DefaultDataBag()), а затем пересобрав Cassandra 1.2.

person user2913094    schedule 20.11.2013