在日志服务中创建 MySQL 数据源关联后,可以在检索分析时将日志主题和 MySQL 数据库进行联合查询分析,同时支持将查询分析结果插入到 MySQL 数据库中。本文档介绍联合查询分析的操作步骤与示例。
已创建 MySQL 数据源关联,且数据源连接状态为成功。创建数据源关联并查看连接状态的方式请参考关联 MySQL 数据源。
类别 | 说明 |
---|---|
MySQL 表大小 | 建议联合查询时关联的 MySQL 表内数据量小于 20MiB,数据量较大时,如果日志服务对数据库发起了过于复杂的 SQL 查询,可能会影响数据库稳定性。 |
检索分析语句 |
|
登录日志服务控制台。
在顶部导航栏中,选择日志服务所在的地域。
在左侧导航栏中,选择常用功能 > 检索分析。
在检索分析页面的左侧列表中,选择指定的日志项目和日志主题。
在指定日志主题的检索分析页面,指定时间范围。
时间范围默认为 5 分钟,您也可以自定义检索的时间范围。
输入检索分析条件,执行联合查询分析。
在联合查询分析时,应使用 JOIN 子句关联日志主题和指定外部数据源,支持的 JOIN 语法请参考 JOIN 子句。
说明
检索分析时应注意 MySQL 表大小和 SQL 语法的相关限制。详细说明请参考注意事项。
例如已创建外部 MySQL 数据源 tls_join_meta_store,通过 JOIN 语法进行日志主题和 MySQL 数据库联合分析。联合分析时,根据当前日志主题的 userid 字段和指定数据源的 uid 字段进行数据源关联,分析不同年龄段的活跃度。联合查询分析示例如下。
* | select count(*) as pv from myproject.mytopic l join tls_join_meta_store u on l.userid = u.uid group by u.age order by pv desc
输入检索分析语句,将查询结果保存到 MySQL 数据库中。
通过 INSERT 语法将以上步骤中的查询结果保存到数据库中某个已创建的表中, SQL 语句示例如下。执行成功后,您可以在 MySQL 数据库中查看已保存的查询分析结果。
* | insert into tls_report_external_store select __time__- __time__ % 300 as min, count(1) as pv group by min