日志服务提供分析功能,该功能结合了查询功能和SQL计算功能。本文介绍分析功能的基本语法、使用限制和SQL函数等信息。

说明
  • 如果您要使用分析功能,则必须在配置索引时打开对应字段的开启统计开关。更多信息,请参见配置索引。 打开开启统计开关,可实现数据的秒级分析且无额外费用。
  • 日志服务默认存在保留字段。如果您要分析保留字段,请参见保留字段

基础语法

查询语句和分析语句以竖线(|)分割。查询语句可单独使用,分析语句必须与查询语句一起使用。即分析功能是基于查询结果或全量数据进行的。
说明
  • 分析语句中不需要填写FROM子句和WHERE子句,默认分析当前Logstore中的数据。
  • 不需要在分析语句末尾加分号表示结束。
  • 分析语句中不区分大小写。
  • 基本语法
    查询语句|分析语句
    语句类型 说明
    查询语句 查询条件,可以为关键词、数值、数值范围、空格、星号(*)等。

    如果为空格或星号(*),表示无过滤条件。更多信息,请参见查询语法

    分析语句 对查询结果或全量数据进行计算和统计。
  • 示例
    * | SELECT status, count(*) AS PV GROUP BY status

使用限制

  • 单个Project支持的最大分析操作并发数为15个。

    例如15个用户同时在同一个Project的各个Logstore中执行分析操作。

  • 分析功能只对开启统计功能后写入的数据生效。

    如果您需要分析历史数据,请对历史数据重建索引。更多信息,请参见重建索引

  • 执行分析操作后,默认最多返回100行数据。

    如果您需要返回更多数据,请使用LIMIT语法。更多信息,请参见LIMIT语法

  • 单个字段值最大长度为16KB,超出部分不参与分析。
  • 分析操作的最大超时时间为55秒。
  • 单个Shard单次仅支持分析1 GB数据量。
  • Double类型的字段值最多52位。

    如果浮点数编码位数超过52位,会造成精度损失。

SQL函数和语法

日志服务支持以下SQL函数和语法。

分析结果展示

您可以使用仪表盘展示分析结果,如下图所示:

查询效果

交互分析、仪表盘、Grafana、Datav等更多Demo信息,请单击DEMO