Documentation

使用InfluxQL查询数据

使用InfluxQL(一种类似SQL的查询语言)与InfluxDB交互,并查询和分析您的时间序列数据。

在 InfluxDB 1.x 中,数据存储在 databasesretention policies 中。 在 InfluxDB OSS Cloud 中,数据存储在 buckets 中。由于 InfluxQL 使用 1.x 数据模型,在使用 InfluxQL 查询之前,必须将一个 bucket 映射到一个数据库和保留策略 (DBRP)。

要使用InfluxQL查询数据,请完成以下步骤:

  1. 验证桶是否有映射.
  2. 为未映射的桶创建DBRP映射
  3. 使用InfluxQL查询映射的桶.

InfluxQL 参考文档

有关完整的 InfluxQL 参考文档,请参见 InfluxQL 规范 for InfluxDB 2.x

验证桶是否具有映射

  1. 要验证您要查询的桶是否映射到数据库和保留策略,请使用 influx CLIInfluxDB API有关示例,请参见 列出 DBRP 映射

  2. 如果您没有找到桶的 DBRP 映射创建一个新的 DBRP 映射以映射未映射的桶。

为未映射的桶创建DBRP映射

使用InfluxQL查询映射的桶

influx CLI 提供了一个InfluxQL shell,您可以在其中以交互式读取-评估-打印循环(REPL)方式执行InfluxQL查询。

  1. 如果您还没有这样做,请执行以下操作:

  2. 使用以下命令启动一个 InfluxQL shell:

    influx v1 shell
    
  3. 在InfluxQL shell中执行一个InfluxQL查询。

    SELECT used_percent FROM "example-db"."example-rp"."example-measurement" WHERE host=host1
    

    有关更多信息,请查看如何 使用 InfluxQL shell。有关 DBRP 映射的更多信息,请参见 管理 DBRP 映射

InfluxDB 1.x 兼容性 API支持所有的 InfluxDB 1.x 客户端库和 InfluxDB Cloud 中的集成。

  1. 要使用 InfluxQL 查询映射的桶,请使用 /query 1.x 兼容端点,并在请求中包含以下内容:

    • 请求方法: GET
    • 头部:
    • Query parameters:
      • db: 1.x 数据库查询

      • rp: 1.x 保留策略查询 (如果没有指定保留策略,InfluxDB 使用指定数据库的默认保留策略)

      • q: URL编码的InfluxQL查询

        对可能包含空格或其他特殊字符的查询参数进行URL编码。

    curl --get http://localhost:8086/query?db=example-db \
      --header "Authorization: Token YourAuthToken" \
      --data-urlencode "q=SELECT used_percent FROM \"example-db\".\"example-rp\".\"example-measurement\" WHERE host=host1"
    

    默认情况下,/query 兼容性端点返回的结果为 JSON

  2. (可选) 要将结果以 CSV 格式返回,请包含 Accept: application/csv 头部。

有关DBRP映射的更多信息,请参见 Manage DBRP mappings

InfluxQL 支持

InfluxDB OSS 2.x 支持以下 InfluxQL 语句和子句。请参见下面支持和不支持的查询。

支持的InfluxQL查询
  • DELETE*
  • DROP MEASUREMENT*
  • EXPLAIN ANALYZE
  • SELECT (只读)
  • SHOW DATABASES
  • SHOW SERIES
  • SHOW MEASUREMENTS
  • SHOW TAG KEYS
  • SHOW FIELD KEYS
  • SHOW SERIES EXACT CARDINALITY
  • SHOW TAG KEY CARDINALITY
  • SHOW FIELD KEY CARDINALITY

* 这些命令删除数据。

不支持的InfluxQL查询
  • SELECT INTO
  • ALTER
  • CREATE
  • DROP (有限支持)
  • GRANT
  • KILL
  • REVOKE
  • SHOW SERIES CARDINALITY


Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看:

由TSM驱动的InfluxDB Cloud