Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 卡桑德拉中的TimeUUID与timestamp?_Cassandra_Timeuuid_Nosql - Fatal编程技术网

Cassandra 卡桑德拉中的TimeUUID与timestamp?

Cassandra 卡桑德拉中的TimeUUID与timestamp?,cassandra,timeuuid,nosql,Cassandra,Timeuuid,Nosql,如果我们可以从TimeUUID中提取时间,那么在Cassandra中使用timestamp作为另一列有意义吗 另外,我们如何从TimeUUID中提取时间并对其进行范围查询(如2016年1月至2016年5月)?如果您选择使用TimeUUID,则无需将时间戳存储在其他列中 你在找我 请注意min和max。LSB位决定唯一性。i、 e最后8位的范围从00000000到ffffffff 因此,请相应地准备范围查询 希望这有帮助 Timeuuid函数 现在 now函数不接受任何参数,并在协调器节点上生成一

如果我们可以从TimeUUID中提取时间,那么在Cassandra中使用timestamp作为另一列有意义吗


另外,我们如何从TimeUUID中提取时间并对其进行范围查询(如2016年1月至2016年5月)?

如果您选择使用TimeUUID,则无需将时间戳存储在其他列中

你在找我

请注意
min
max
。LSB位决定唯一性。i、 e最后8位的范围从
00000000
ffffffff

因此,请相应地准备范围查询

希望这有帮助

Timeuuid函数

现在

now函数不接受任何参数,并在协调器节点上生成一个新的唯一timeuuid(在执行使用它的语句时)。请注意,此方法对于插入非常有用,但在WHERE子句中基本上是不敏感的。例如,表单的查询

从myTable中选择*,其中t=now()
不会通过设计返回任何结果,因为now()返回的值保证是唯一的

minTimeuuid
maxtimeuid

minTimeuuid(resp.maxTimeuuid)函数获取时间戳值t(可以是时间戳或日期字符串),并返回与时间戳t的最小(resp.maxTimeuuid)可能timeuuid相对应的伪timeuuid。例如:

从myTable中选择*,其中t>maxTimeuuid('2013-01-01 00:05+0000')和t
将选择timeuuid列t严格早于
2013-01-01 00:05+0000但严格早于
2013-02-02 10:00+0000
的所有行。请注意,
t>=maxTimeuuid('2013-01-01 00:05+0000')
仍不会选择准确在
2013-01-01 00:05+0000
生成的timeuuid,并且本质上等同于
t>maxTimeuuid('2013-01-01 00:05+0000')

警告:我们将minTimeuuid和maxTimeuuid生成的值称为假UUID,因为它们不遵守RFC 4122指定的基于时间的UUID生成过程。特别是,这两个方法返回的值不是唯一的。这意味着您应该只使用这些方法进行查询(如上面的示例所示)。插入这些方法的结果几乎肯定是一个坏主意

时间转换函数


提供了许多函数来将timeuuid、timestamp或date“转换”为另一个本机类型。

我遇到了这个问题,并在查询过程中进行了转换

SELECT toTimestamp(uuid_timestamp) FROM table
这不是一个问题,因为我正在插入一个熊猫数据框进行分析