我需要使用Hector API为Cassandra编写Java对象。我有一个Set对象,我试图将其序列化,然后在Hector的insert()中使用它,用于列族的mutator。我不断收到对象不可序列化的错误。我找不到这个用例的任何文档。
答案 0 :(得分:1)
我能够通过以下方式将一个Java对象添加到Cassandra列中:
StringSerializer stringSerializer = StringSerializer.get();
ObjectSerializer flatten=ObjectSerializer.get();
Mutator<String> mutator = HFactory.createMutator (keySpace, stringSerializer);
HColumn<String, Object> column=HFactory.createColumn ("1", object1, stringSerializer,flatten);
mutator.insert ("pages",COLUMN_FAMILY, column);
这里,object1是我想写给Cassandra的对象。 keySpace的类型为me.prettyprint.hector.api.Keyspace,“1”是列名,“pages”是行键,COLUMN_FAMILY是一个字符串,表示列族的名称。 我在首先序列化对象然后写入insert()时犯了一个错误,而这不是必需的。