全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
日志服务

语法说明

更新时间:2017-12-21 19:16:47

日志服务提供类似于SQL的聚合计算功能,该功能结合了查询功能和SQL的计算功能,对查询结果进行计算。

语法示例:

  1. status>200 |select avg(latency),max(latency) ,count(1) as c GROUP BY method ORDER BY c DESC LIMIT 20

基本语法:

  1. [search query] | [sql query]

search条件和计算条件以|分割,表示以search query从日志中过滤出需要的日志,并对这些日志进行SQL query计算。search query的语法为日志服务专有语法,参见查询语法文档

限制说明

  1. 每个Project的最高并发为5。
  2. 单列varchar,最大长度为512,超过后会截断。

前提条件

要使用分析功能,必须在查询分析设置中点击SQL涉及的字段下开启分析开关,详情请参考简介中设置步骤。

  • 如果不开启统计,默认只提供每个shard最多1万行数据的计算功能,而且延时比较高。
  • 开启后可以提供秒级别快速分析。
  • 开启后只对新数据生效。
  • 开启统计后不会产生额外费用。

支持的SQL语法

日志服务支持以下SQL语法,详细内容请点击链接查看。

语法结构

SQL语法结构如下:

  • SQL语句中不需要填写from子句和where子句, 默认from表示从当前Logstore的数据中查询,where条件为search query。
  • 支持的子句包括SELECT、GROUP BY、ORDER BY [ASC,DESC]、LIMIT、HAVING。
  • 默认情况下只返回前10个结果,如要返回更多请加上limit n,例如* | select count(1) as c, ip group by ip order by c desc limit 100

内置字段

日志服务内置了一些字段供统计,当用户配置了任何一个有效列后,就会自动加上这些内置字段。

字段名 类型 含义
__time__ bigint 日志的时间。
__source__ varchar 日志来源IP。注意,在搜索时,该字段是source,在SQL中才会带上前后各两个下划线。
__topic__ varchar 日志的Topic。

使用实例

统计每小时的PV、UV和最高延时对应的用户请求,延时最高的10个延时:

  1. *|select date_trunc('hour',from_unixtime(__time__)) as time,
  2. count(1) as pv,
  3. approx_distinct(userid) as uv,
  4. max_by(url,latency) as top_latency_url,
  5. max(latency,10) as top_10_latency
  6. group by 1
  7. order by time
本文导读目录