Apache-thrift调用cassandra在“key”中插入垃圾/空值

时间:2012-08-23 18:05:30

标签: cassandra thrift

  

卡桑德拉-节俭1.1.2.jar

问题代码:

            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)

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

您正在创建一个以行键为单位的行。 在Cassandra cli中,如果将行列为字节,则可能会看到行键。 例如。在cassandra cli中:
假设用户键为字节;
列出用户;