1

我正在使用Hector从 Cassandra DB 读取数据。查询示例:

ColumnQuery<String, String, String> cq = HFactory.createColumnQuery(KEYSPACE, stringSerializer, stringSerializer, stringSerializer);
cq.setColumnFamily(columnFamily).setKey("Some_Key").setName("Column_Name");
QueryResult<HColumn<String, String>> cqRes = cq.execute();

我得到的答案(此列的值)如下所示:

[45404,2]

据我所知,A Column 由名称、值和时间戳组成(例如这里提到的)。我不是在写这个数据库,我只是从中读取。有没有可能根本没有写数据戳?无论如何,有没有一种特殊的方式来使用 Hector 来汇集它(时间戳)?

4

1 回答 1

1

您可以使用列的 getClock() 方法来获取时间戳。每列在 Cassandra 中都有一个时间戳。(对于柜台来说,它更复杂,而且它们不会暴露给客户。)

但是,时间戳用于解决冲突,以查看哪个写入获胜。它不应被视为日期字段。如果您想为记录添加日期,请添加单独的日期列。然后,您可以控制分辨率、时区等,它可以引用整行而不是单个列。

于 2013-08-01T15:20:59.657 回答