我是Cassandra&我正在使用Hector Java Client进行写入/读取。
我有以下代码来插入值 -
Mutator<String> mutator = HFactory.createMutator(keyspaceOperator, StringSerializer.get());
mutator.insert("jsmith", stdColumnDefinition, HFactory.createStringColumn("first", "John"));
现在,当我通过Hector客户端获取值时 - 它干净利落 -
columnQuery.setColumnFamily(stdColumnDefinition).setKey("jsmith").setName("first");
QueryResult<HColumn<String, String>> result = columnQuery.execute();
但是,当我尝试从命令行cassandra客户端获取值时,我得到的是以字节为单位的数据,而不是人类可读的String格式。有没有办法让我解决这个问题,以便我可以使用cassandra客户端吐出字符串 -
这是示例输出 [default @ keyspaceUno] list StandardUno;
RowKey:6a736d697468 =&GT; (列= 6669727374,值= 4a6f686e,时间戳= 1317183324576000) =&GT; (列= 6c617374,值= 536d697468,时间戳= 1317183324606000)
返回1行。
感谢。
答案 0 :(得分:3)
您可以修改架构,以便Cassandra默认将列解释为字符串,或者您可以告诉CLI如何在一次性基础上或在会话的其余部分解释数据, “假设”命令。
有关示例,请参阅http://www.datastax.com/docs/0.8/dml/using_cli#reading-rows-and-columns。