fre*_*ish 3 datetime date cassandra
我刚刚开始使用Cassandra数据库进行冒险.我已经设法学习一些基础知识,但我仍然无法理解的是如何使用Cassandra的日期?
因此,例如在MySQL中,我们有一个字段的日期时间类型,我们可以查询(例如)创建日期小于2010-01-01的所有字段.此外,我们可以通过创建日期字段来排序结果.
我们如何才能与Cassandra达成同样的目标?如何定义相应的列族以及如何查询(CQL)以获得相同的结果?
您可以使用类型DateType在列族中定义DateType类型的列.你应该真正阅读这个页面,它有描述和示例如何进行范围查询(即creationdate <2010-01-01).对于订购,您可以参考SliceRange,但这可能已经涵盖在cassandra客户端中.您可能希望查看cassandra 客户端来执行查询.
这是一个关于如何使用hector客户端在cassandra中进行查询的片段.
// 2010-01-01
Date date = new Date(1262275200L);
try
{
getConnection();
IndexedSlicesQuery<String, String, String> indexedSlicesQuery = HFactory.createIndexedSlicesQuery(keyspace, ss, ss, ss);
indexedSlicesQuery.setColumnNames("name");
indexedSlicesQuery.addLtExpression("timestamp", ByteBufferUtil.string(date_s.toByteBuffer(date)));
indexedSlicesQuery.addEqualsExpression("searchall", ByteBufferUtil.string(bs.toByteBuffer(true)));
indexedSlicesQuery.setColumnFamily(column_family);
indexedSlicesQuery.setStartKey("");
System.out.println(indexedSlicesQuery.toString());
QueryResult<OrderedRows<String, String, String>> res = indexedSlicesQuery.execute();
List<Row<String, String, String>> list = res.get().getList();
for (Row<?, ?, ?> row : list)
{
System.out.println(row.getKey());
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7269 次 |
| 最近记录: |