使用hector获取Cassandra列时间戳

时间:2013-08-01 15:03:13

标签: cassandra hector

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

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由名称,值和时间戳组成(例如,如here所述)。 我不是写这个DB,我只读它。是否可能根本不写入数据采集?无论如何,是否有一种使用Hector汇集它(时间戳)的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用列的getClock()方法来获取时间戳。每列都有Cassandra的时间戳。 (对于计数器来说,它更复杂,并且不会暴露给客户。)

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