- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
为了在 kdb+ TSDB 中存储按标签分组的基于时间的数据,我创建了一个包含列 timestamp
、val
和 tags
的表.标签是键值对,因此我使用字典将此类信息存储在 tags
列中。
创建表的查询:
myTable:([]timestamp:-12h$();val:-9h$();tags:());
插入一些示例数据的查询:
`myTable insert ("P"$"2015-11-30 13:10:45.126381"; 521.45117; `house`room!215 111)
如何获取 215 号房屋的所有数据/行数?我尝试了以下查询但没有成功(类型错误):
select from myTable where tags[`house]=215
感谢任何帮助。
最佳答案
要访问字典中的元素,您需要深度索引——在这种情况下需要处理 2 级嵌套。外层索引是行数,内层索引是字典键。
在 q 中,要在深度 ( elide ) 进行索引,您可以省略其中一个索引级别,在这种特殊情况下,查询将是:
q) select from myTable where tags[;`house]=215
timestamp val tags
----------------------------------------------------------
2015.11.30D13:10:45.126381000 521.4512 `house`room!215 111
注意事项:如果每行中的 tags
字典不是同类的(相同的键 + 相同的值类型),您可能会抛出 'type
错误对于 tags
字典缺少 house
键的行,因为 Kdb+ 将返回一个可能不是预期类型的空值。因此,可能需要使用匹配运算符 ( ~ )。
例如:
q) select from myTable where tags[;`house]~\:215
timestamp val tags
----------------------------------------------------------
2015.11.30D13:10:45.126381000 521.4512 `house`room!215 111
关于database - 使用嵌套字典在 kdb+ TSDB 表上选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33989718/
版权说明: 本文章版权归本人及博客园共同所有,转载请在文章前标明原文出处( https://www.cnblogs.com/mikevictor07/p/17258452.ht
我正在构建一个一次性的智能家居数据收集盒。它预计将在树莓派级机器(~1G RAM)上运行,每天处理大约 200K 数据点(每个 64 位 int)。我们一直在使用 vanilla MySQL,但性能开
有没有办法在配置文件中指定 storage.tsdb.retention 标志而不是在命令行上传递?我针对不同的情况有不同的配置文件,如果我也可以在配置文件中指定 storage.tsdb.reten
为了在 kdb+ TSDB 中存储按标签分组的基于时间的数据,我创建了一个包含列 timestamp、val 和 tags 的表.标签是键值对,因此我使用字典将此类信息存储在 tags 列中。 创建表
我想在 Prometheus 2.12 中尝试 storage.tsdb.retention.size 的特性。 我的 prometheus 保留配置是 90 天或 2GiB。我的预期是当 prome
我被要求为我的 prometheus 的 storage.tsdb.retention.time 提供最小值。我给它作为 1d。我们能不能给值(value)低于这个。我的意思是我们可以为这个标志指定以
我开始学习大数据和Apache Spark我有疑问。 将来我需要从 IoT 收集数据,这些数据将以 time series data 的形式传给我.我在阅读时间序列数据库 (TSDB) 时发现了一些开
我是一名优秀的程序员,十分优秀!