- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的传感器经常将数据写入日志文件。我想将这些日志存储到 Cassandra 中并与 Spark 一起处理它们。
我考虑过使用 TimeUUID用于存储我的时间戳以自动保留顺序的列。我的查询将大量使用范围查询,因此我认为这可能是理想的。但是,由于日志记录的频率,我的日志可能包含重复的时间戳。日志不会传输到 cassandra;我只处理历史数据。时间戳将成为我的复合主键的一部分。我想不出一个可行的列,我可以将其拉入行键以使具有重复时间戳的行唯一。
documentation说:“minTimeuuid 和 maxTimeuuid 函数返回的值不是真正的 UUID,因为这些值不符合 RFC 4122 指定的基于时间的 UUID 生成过程。与 now 函数不同,这些函数的结果是确定性的。”
强制使用 TimeUUID 的日期时,而不是使用 now
,这可能最终会覆盖以前的数据。
我将使用 Java/Scala 将历史数据从 .json 批量插入到 Cassandra。 (Cassandra 3.0.8 | CQL 规范 3.4.0 | native 协议(protocol) v4)
我的数据中如何存在重复的时间戳?
或者还有其他(更好)的选择吗?
谢谢
最佳答案
您使用 timeuuid 作为唯一标识符的想法是正确的方法。如果正确完成,您将不会有重复项。 timeuuid 是 type 1 uuid其中不仅包含时间戳,还包含一些熵,以保证即使在同一时间点也具有唯一性。
所以,现在的问题仍然是 - 您应该如何为历史数据生成 timeuuid?正如您所指出的, minTimeuuid/maxTimeuuid 函数不适合生成正确的版本 1 uuid。没关系,因为那不是他们的目的。稍后当您使用时间范围查询数据时,您将需要它们:
SELECT * FROM sensor_readings
WHERE sensor_id = 123
AND ts > maxTimeuuid('2016-07-15 00:00+0000')
AND ts < minTimeuuid('2016-07-17 00:00+0000')
不幸的是,CQL 不提供为给定时间戳生成它们的函数(从 CQL 3.3 开始),因此您的客户端必须生成 uuid。有一些 Java 库可以做到这一点。请参阅this question寻求一些建议。请务必选择一个保证独特性的优质库。
关于Cassandra - 使用 TimeUUID 重复时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38475196/
我在 cassandra 键空间中有一个 timeuuid 类型的列。当我尝试从java代码插入记录时(使用DataStax java driver1.0.3)。我收到以下异常 com.datasta
我有下表 create table test( userId varchar, notifId timeuuid, notification va
简短版本:是否可以查询与特定日期对应的所有 timeuuid 列? 更多细节: 我有一个表定义如下: CREATE TABLE timetest( key uuid, activation_t
我的传感器经常将数据写入日志文件。我想将这些日志存储到 Cassandra 中并与 Spark 一起处理它们。 我考虑过使用 TimeUUID用于存储我的时间戳以自动保留顺序的列。我的查询将大量使用范
我的传感器经常将数据写入日志文件。我想将这些日志存储到 Cassandra 中并与 Spark 一起处理它们。 我考虑过使用 TimeUUID用于存储我的时间戳以自动保留顺序的列。我的查询将大量使用范
我在看 the Datastax CQL reference : Collisions that would potentially overwrite data that was not inten
在 java 中,插入 cassandra 时出现此错误,我还尝试了时间戳数据类型, 那么是发布日期类型,还是java代码?您能否建议更改代码 读取 csv 文件。 错误: Exception in
我使用以下命令创建了一个列族用户: create column family Users with comparator=TimeUUIDType and default_validation_cla
Cassandra TimeUUID 字段到 Solr 的最佳映射是什么。我使用的是 DSE 3.2.4 版本 最佳答案 如果您有任何升级计划,DSE4.5 的 solr 允许将 uuid 和 tim
我的用例 我想按时间戳 DESC 订购结果。但我不希望时间戳成为主键中的第二列,因为这将占用我的查询能力 例如 create table demo(oid int,cid int,ts timeuui
我有一个以 timeuuid 作为聚类键的表。 CREATE TABLE event ( domain TEXT, createdAt TIMEUUID, kin
如果我们可以从 TimeUUID 中提取时间,那么在 Cassandra 中使用时间戳作为另一列是否有意义? 另外,我们如何从 TimeUUID 中提取时间并对其进行范围查询(例如 2016 年 1
我是 Cassandra 的新手。我想根据主键(即 timeuuid)获得排序的结果集。我的表结构是。 CREATE TABLE user_session ( session_id timeuui
鉴于 TimeUUID 可以方便地使用 now()在 CQL 中,您是否有任何理由不继续使用 TimeUUID 而不是普通的旧 UUID? 最佳答案 UUID和 TIMEUUID在 Cassandra
我的目标是对给定时间范围(fromDate ResponseError: 无法执行此查询,因为它可能涉及数据过滤,因此可能具有不可预测的性能。 我猜您不能拥有主键并对其进行日期范围搜索?如果是这样,
我正在使用 NodeJS Cassandra 驱动程序从 Cassandra timeuuid 列检索数据。现在,数据以缓冲区类型而不是字符串类型检索。我需要字符串类型的数据 最佳答案 虽然仍然很难理
pycassa 有 pycassa.util.convert_time_to_uuid(time_arg, lowest_val=True, randomize=False) phpcassa 有st
我还是 Cassandra 的新手,我有一个问题想解决,但我已经尝试过了,但我做不到。 我想让所有喜欢特定帖子的用户和特定用户喜欢的所有帖子,我有一个喜欢和不喜欢的按钮,当用户点击帖子上的喜欢按钮时,
我有一个问题,我想构建一个日志系统,它将使用 timeuuid 类型作为列名,这样我以后就可以请求它了。 由于按时间排序的范围查询我需要使用 timeuuid 类型我想问你如何为 timeuuid 列
遵循 an ebay tech blog 中的指示和 a datastax developers blog ,我在 Cassandra 1.2 中对一些事件日志数据进行建模。作为分区键,我使用“ddm
我是一名优秀的程序员,十分优秀!