我刚刚开始使用Cassandra,通过执行以下查询,在Cassandra下载页面上使用Getting started上给出的命令创建了一个简单的ColumnFamily和一些数据。
CREATE TABLE users (
user_id int PRIMARY KEY,
fname text,
lname text
);
INSERT INTO users (user_id, fname, lname)
VALUES (1745, 'john', 'smith');
INSERT INTO users (user_id, fname, lname)
VALUES (1744, 'john', 'doe');
INSERT INTO users (user_id, fname, lname)
VALUES (1746, 'john', 'smith');
我的用于获取数据的Hector代码:
RangeSlicesQuery<String, String, String> rangeSlicesQuery
= HFactory.createRangeSlicesQuery(keyspace, STR, STR, STR);
rangeSlicesQuery.setColumnFamily(columnFamily)
.setColumnNames(" fname ", " lname ")
.setKeys("6", "5")
.setRowCount(row_count);
QueryResult<OrderedRows<String, String, String>> result = rangeSlicesQuery.execute();
但是当我使用Cassandra中的Hector API在Column name中获取数据时,它包含空格,就像列名fname将是:'fname'。 对于来自Java Hector API的查询,我需要使用相同的列名和空格来获取或保存数据 任何人都有任何想法,我做错了什么,或者我该如何去除那些尾随空间 感谢