TL;DR InfluxDB 技术提示 - InfluxQL 子查询支持、CLI 使用保留策略支持及更多
作者:Regan Kuchan / 产品, 开发者
2017 年 1 月 19 日
导航至
在这篇文章中,我们预览了 InfluxDB 1.2 版本中将发布的一些新功能。下周请继续关注更多关于 InfluxDB 和 TICK-stack 相关问题的精彩内容、解决方法、操作指南以及来自 GitHub、IRC 和 InfluxDB Google Group 的问答。
InfluxQL 子查询支持
从 1.2 版本开始,InfluxQL 的 SELECT
语句 支持子查询。子查询是嵌套在另一个查询的 FROM
子句 中的查询。您可以使用子查询将一个查询应用为外层查询的条件。
以下带子查询的查询计算了狗和猫数量之间的平均差值
> SELECT MEAN("difference") FROM (SELECT "dogs" - "cats" AS "difference" FROM "pet_daycare") name: pet_daycare time mean ---- ---- 1970-01-01T00:00:00Z 9
InfluxDB 首先执行子查询,计算 pet_daycare
measurement 中 dogs
和 cats
字段 之间的差值。接下来,InfluxDB 计算这些差值的平均值。
请注意,在以前版本的 InfluxDB 中,该计算需要您执行 两个单独的查询。
CLI 使用保留策略支持
在以前版本的 InfluxDB 命令行界面 (CLI) 中,查询非 DEFAULT
保留策略 的唯一方法是在 FROM
子句中完全限定 measurement 名称。从 1.2 版本开始,CLI 支持在 USE
命令中使用以下语法指定备用保留策略:USE <database_name>.<retention_policy_name>
。一旦您使用 USE
命令输入备用保留策略,就无需在每个 FROM
子句中包含该保留策略!
以下示例告诉 CLI 使用 life
数据库和非 DEFAULT
lemons
保留策略
> USE "life"."lemons" Using database life Using retention policy lemons > SELECT * FROM "glasses" LIMIT 1 name: glasses time lemonade peach_lemonade raspberry_lemonade ---- -------- -------------- ------------------ 2017-01-17T04:41:21.874459122Z 1 8 5
InfluxQL 修复 SAMPLE(*) 问题
在以前版本的 InfluxDB 中,SAMPLE(*,<N>)
忽略了具有 字符串值 的 字段。该行为已在 1.2 版本中修复;现在 SAMPLE(*,<N>)
为 measurement 中的每个字段返回 N
个点的随机样本
> SELECT SAMPLE(*,2) FROM "all_kinds" name: all_kinds time sample_bool sample_i_feel_heard sample_num ---- ----------- ------------------- ---------- 2017-01-17T05:17:34.843212275Z true yes 456 2017-01-17T05:18:14.298348463Z false me too! 4
下一步是什么
- 下载 TICK-stack 可以在我们的“下载”页面上找到。
- 云端部署:开始免费试用 InfluxDB Cloud ,它具有完全托管的集群、Kapacitor 和 Grafana。
- 在您的服务器上部署:想在您的服务器上运行 InfluxDB 集群?免费试用 14 天 InfluxDB Enterprise ,它具有直观的 UI,用于部署、监控和重新平衡集群,以及管理备份和还原。
- 讲述您的故事: 超过 300 家公司 分享了 InfluxDB 如何帮助他们取得成功的故事。提交您的客户评价,即可获得限量版连帽衫作为感谢。