gpt4 book ai didi

datetime - 在 Cassandra 中使用日期

转载 作者:行者123 更新时间:2023-12-02 19:58:57 24 4
gpt4 key购买 nike

我刚刚开始我的 Cassandra 数据库冒险之旅。我已经成功学习了一些基础知识,但我仍然不明白如何在 Cassandra 中使用日期?

例如,在 MySQL 中,我们有一个字段的日期时间类型,我们可以查询(例如)创建日期小于 2010-01-01 的所有字段。此外,我们可以通过创建日期字段对结果进行排序。

我们如何使用 Cassandra 实现同样的目标?如何定义相应的Column Family以及如何查询(CQL)它以获得相同的结果?

最佳答案

您可以使用类型 DateType在列族中定义 DateType 类型的列。你真的应该读一下这篇page ,它有描述和示例如何进行范围查询(即创建日期< 2010-01-01)。订购可引用SliceRange但这可能已经在 cassandra 客户端中涵盖了。您可能想研究一下 cassandra client进行查询。

这是有关如何使用 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());
}

}

关于datetime - 在 Cassandra 中使用日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com