如何解决卡桑德拉Cassandra退回整行
| 我正在用一个非常简单的示例尝试Cassandra。 我在cassandra数据库中存储了一个列族:[default@Hotelier] list Hotel;
Using default limit of 100
-------------------
RowKey: AZS_011
=> (column=name,value=43616d6272696120537569746573,timestamp=527682928555011)
上面的值实际上是“ Cambria Suites”。当我使用以下代码从数据库中检索值时:
String key = \"AZS_011\";
Connector connector = new Connector();
Cassandra.Client client = connector.connect();
ColumnPath cp = new ColumnPath(\"Hotel\");
cp.setColumn(to_bb(\"name\"));
ColumnorSuperColumn col = client.get(to_bb(key),cp,CL);
String hotel_name = new String(col.column.value.array(),UTF8);
System.out.println(\"I found: \" + hotel_name);
connector.close();
我最终得到了输出:
我发现:?getnameCambria Suites
B?
似乎通过引用col.column.value,我将所有内容都包含在整行中。我的问题是我如何只获取没有名称和时间戳记部分的值?非常感谢。
解决方法
使用以下方法获取每一列。我使方法获得的值如下:
for (ColumnOrSuperColumn c : result) {
if (c.getColumn() != null) {
String name = new String(c.getColumn().getName(),ENCODING);
String value = new String(c.getColumn().getValue(),ENCODING);
long timestamp = c.getColumn().getTimestamp();
System.out.println(\" name: \'\" + name + \"\',value: \'\" + value + \"\',timestamp: \" + timestamp);
} else {
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。