0
卡桑德拉-节俭1.1.2.jarApache的节俭呼叫卡桑德拉插入在 “钥匙”
问题代码垃圾/空值:
ColumnOrSuperColumn cosc = null; org.apache.cassandra.thrift.Column c = new org.apache.cassandra.thrift.Column(); c.setName ("full_name".getBytes ("UTF-8")); c.setValue ("Test name".getBytes ("UTF-8")); c.setTimestamp (System.currentTimeMillis()); // insert data // long timestamp = System.currentTimeMillis(); try { client.set_keyspace("CClient"); bb=ByteBuffer.allocate (10); client.insert (bb.putInt(1), new ColumnParent ("users"), c, ConsistencyLevel.QUORUM); bb.putInt (2); cosc = client.get (bb, cp, ConsistencyLevel.QUORUM); } catch (TimedOutException toe) { System.out.println (toe.getMessage()); } catch (org.apache.cassandra.thrift.UnavailableException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { System.out.println (new String (cosc.getColumn().getName()) + "-" + new String (cosc.getColumn().getValue())); }
上面显示的代码在数据库中插入了一些垃圾或null,我不明白为什么?
看看它是如何看起来对CLI:
RowKey: => (column=full_name, value=Test name, timestamp=1345743985973)
在任何帮助,这是极大的赞赏。
谢谢。
我并不真正关注你的问题,但如果你使用像Hector这样的客户端库而不是使用原始的节俭,它会容易得多。 – sbridges
@sbridges你应该让这个答案,因为这是正确的答案。 –
我查找了Hector的源代码,以了解如何完成插入操作,并且ByteBufferUtil就是其中之一。 (1), 新的ColumnParent(“用户”), c, ConsistencyLevel.QUORUM); ' –