UnixTime保存为int,如何查询为Date。卡桑德拉
UnixTime saved as int, how to query as Date. Cassandra CQLSH
我正在构建管道:sensorData - MQTT 代理 - Kafka - Cassandra。有效载荷以 JSON 形式传输,在 Cassandra 中保存时,日期保存为 int。查询CQLSH无法获取可读日期
CREATE TABLE sensordata.mqttsensordata (
sensor text,
temperature float,
humidity int,
timestamp int,
battery int,
calibratedhumidity int,
datetime timestamp,
receiver text,
rssi float,
voltage float,
PRIMARY KEY (
(sensor, temperature, humidity),
timestamp
)
如下图查询数据库时,如何获取可读的时间戳?
Query table
唯一可以对 UNIX 时间戳进行操作的时间函数是 [min|max]timeuuid(mintimeuuid()
或 maxtimeuuid()
)。您可以在时间戳列中使用其中任何一个,并将其嵌套在 toTimestamp()
函数中。
例如,如果我有 table 个采样时间:
> SELECT * FROM sample_times WHERE a=1;
a | b | c | d
---+---------------------------------+--------------------------------------+---------------
1 | 2021-08-08 21:42:54.131000+0000 | 96594031-f891-11eb-b7bc-e12958c8479f | 1628458974131
列 d
是一个 bigint
,我在其中存储了 UNIX 时间戳。我可以将其显示为这样的时间戳:
> SELECT totimestamp(mintimeuuid(d)) FROM sample_times WHERE a=1;
system.totimestamp(system.mintimeuuid(d))
-------------------------------------------
2021-08-08 21:42:54.131000+0000
(1 rows)
我正在构建管道:sensorData - MQTT 代理 - Kafka - Cassandra。有效载荷以 JSON 形式传输,在 Cassandra 中保存时,日期保存为 int。查询CQLSH无法获取可读日期
CREATE TABLE sensordata.mqttsensordata (
sensor text,
temperature float,
humidity int,
timestamp int,
battery int,
calibratedhumidity int,
datetime timestamp,
receiver text,
rssi float,
voltage float,
PRIMARY KEY (
(sensor, temperature, humidity),
timestamp
)
如下图查询数据库时,如何获取可读的时间戳?
Query table
唯一可以对 UNIX 时间戳进行操作的时间函数是 [min|max]timeuuid(mintimeuuid()
或 maxtimeuuid()
)。您可以在时间戳列中使用其中任何一个,并将其嵌套在 toTimestamp()
函数中。
例如,如果我有 table 个采样时间:
> SELECT * FROM sample_times WHERE a=1;
a | b | c | d
---+---------------------------------+--------------------------------------+---------------
1 | 2021-08-08 21:42:54.131000+0000 | 96594031-f891-11eb-b7bc-e12958c8479f | 1628458974131
列 d
是一个 bigint
,我在其中存储了 UNIX 时间戳。我可以将其显示为这样的时间戳:
> SELECT totimestamp(mintimeuuid(d)) FROM sample_times WHERE a=1;
system.totimestamp(system.mintimeuuid(d))
-------------------------------------------
2021-08-08 21:42:54.131000+0000
(1 rows)