我想查询cassandra timestamp列,例如this hour、last hour、beather。
我在mysql中执行了与昨天数据相同的查询
Select * from table where time>=CURDATE() - INTERVAL 1 DAY AND time < CURDATE();
您正在尝试在Cassandra中扩大搜索范围,它需要多个节点才能共享结果。很可能会超时。您需要重新考虑您的数据流,因为您绝对知道分区键包含您的日期,并且需要使用分区键获取数据。
Select * from table where time='2022-25-01';
Select * from table where time='2022-24-01';
您需要管理结果。因为您正在根据分区键获取结果。
您可以考虑使用扣件以获得更好的性能。
Cassandra 4.0支持日期/时间算术,但语法有点不同。您可以编写如下内容:
SELECT * FROM myTable WHERE date >= currentDate() - 2d;
但是请考虑到性能将严重依赖于实际的数据模型,因此如果您在没有分区键的情况下运行此查询,那么它将扫描整个数据库,并且很可能会超时。我建议阅读有关Cassandra的数据建模的信息——尽管语言看起来像SQL,但它并不SQL。
使用Cassandra 2.28,Drive 3,Sparks2。我在Cassandra中有一个timestamp列,我只需要按日期部分查询它。如果我按日期查询:<代码>。其中(“交易日期=?”,“2012-01-21”:它不会带来任何结果。如果我包括时间部分,它会显示无效日期。我的数据(如我在cqlsh中所读)是:2012-01-21 08:01:00 0000 参数:“2012-01-21”
从mytable中选择*,其中id='5'和postingdate>='2018-11-06 00:00:00'和postingdate<='2018-11-06 23:59:59'; 在开发中心控制台(或CQLSH)上运行这个查询,会给我相同的结果,而不考虑时区。我在PST和IST中都尝试过,得到了同样的结果。在执行查询之前,Cassandra是在执行PST->UTC还是IST->UTC转换?如
null 还是有其他(更好的)选择? 谢谢
我有带有时间戳(UTC时间)的json日志。我将键和值映射到Cassandra表键并插入记录。但是,Cassandra通过从时间戳中减去5小时,再次将已有的UTC时间戳转换为UTC。这里的时区是(GMT+5)。 现在时间已经是UTC时间,并且仍然插入5小时前的时间戳。 我如何解决这个问题?
我的目标是使用不同的主键将行从一个Cassandra2.0表移动到另一个表。为了确保数据的一致性,我需要用原始的时间戳插入它们()。我计划使用/复制,或者只使用和从CSV自定义导入。 是否有方法复制带有时间戳的行?在TimeUUID列上不起作用,说明“不正确的复制命令”。 提前谢了。
任何一个都可以,要求数据是一个字符串化的JSON对象。我的查询将返回用户在给定时间范围内的所有数据。哪种模式更有意义,或者有更好的方法来解决这个问题?