数据分析(Analysis)是 EventHouse 的计算引擎层,提供高性能的 SQL 查询、流式处理和联邦查询能力。通过数据分析,可以对事件仓中的事件数据执行实时查询、聚合分析和可视化展示。
使用场景
-
实时异常检测:使用时间窗口函数实时计算交易成功率、延迟分布等指标。当分析结果触发阈值(例如 1 分钟内失败订单超过 100),结合规则引擎自动触发告警事件。
-
跨源关联分析:通过联邦查询,将 EventHouse 中的实时事件数据与 RDS 中的用户维表、OSS 中的日志文件进行 JOIN 分析,无需将数据迁移到同一存储中。
-
事件全文检索:使用 SEARCH 语法对事件内容进行全文检索,快速定位包含特定关键词的事件记录。
前提条件
-
已开通事件总线 EventBridge 服务。
-
已在数据目录 Catalog 中创建 Catalog、Namespace 和 Event Table。关于创建方法,请参见数据目录 Catalog。
进入数据分析页面
-
在左侧导航栏,选择事件仓 > 数据分析 Analysis。
页面分为三个区域:
|
区域 |
位置 |
说明 |
|
Catalog 面板 |
左侧 |
展示数据目录树,层级为 Catalog > Namespace > Event Table > Columns。支持搜索、刷新和折叠 |
|
SQL 编辑器 |
右上 |
SQL 查询编辑区,包含查询范围选择器、时间范围选择器和运行按钮 |
|
输出面板 |
右下 |
查询结果展示区,支持 Table 和 Visualization 两种展示模式 |
执行 SQL 查询
-
在 SQL 编辑器上方的查询范围选择器中,依次选择目标 Catalog 和 Namespace。
说明:必须先选择查询范围,运行按钮才会启用。
-
在时间范围选择器中选择查询的时间范围。
支持以下预设时间范围和自定义时间范围:
分类
可选范围
分钟
最近 5 分钟、最近 10 分钟、最近 15 分钟
小时
最近 1 小时、最近 6 小时、最近 24 小时
天
半天、今天、近三天
周
本周、近两周、近三周
月
本月、近两个月、近三个月
自定义
通过日期选择器指定起止时间
默认时间范围为近三天。
-
在 SQL 编辑器中输入查询语句。
SQL 编辑器基于 Monaco Editor,支持语法高亮和行号显示。关于查询语法,请参见查询语法。
-
单击运行按钮执行查询。
运行按钮支持以下两种执行模式:
模式
说明
全量查询
返回所有匹配的查询结果
LIMIT 1000
自动在查询语句末尾添加
LIMIT 1000,仅返回前 1000 条结果单击运行按钮右侧的下拉箭头可以切换执行模式。
查看查询结果
查询执行完成后,结果在输出面板中展示。输出面板包含 Table 和 Visualization 两个标签页。
Table 标签页
Table 标签页以表格形式展示查询结果,支持以下功能:
|
功能 |
说明 |
|
事件条数 |
显示查询结果总数,支持折叠 |
|
显示模式 |
支持表格(默认)和原始两种模式 |
|
筛选列 |
选择显示或隐藏特定列 |
|
分页 |
支持设置每页显示数量(默认 10 条),通过页码导航浏览全部结果 |
Visualization 标签页
Visualization 标签页用于将查询结果以图表形式展示。
-
单击 Visualization 标签页,然后单击添加图表。
-
在编辑图表对话框中,选择图表类型并配置图表参数。
支持以下图表类型:
图表类型
说明
折线图
适用于展示数据随时间的变化趋势。默认图表类型
柱状图
适用于对比不同类别的数据量
饼图
适用于展示各部分占总体的比例
图表编辑器提供以下配置项(以折线图为例):
配置分类
配置项
面板配置
面板标题、面板描述、显示背景边框
图形配置
折线样式(线条宽度、线条样式、连接方式)、填充样式、点样式、数据标签、堆叠处理、网格线
图例配置
显示图例、图例模式(列表/表格)、图例位置(底部/顶部)、图例排序
Tooltip 配置
排序、显示标题、小数位数
X 轴配置
显示 X 轴、X 轴标题、刻度数、格式
Y 轴配置
显示 Y 轴、单位、刻度数、Y 轴范围
-
配置完成后,单击确定保存图表。
可以通过输出面板的 + 按钮添加多个 Visualization 标签页。
多标签页分析
数据分析支持同时打开多个分析标签页,每个标签页独立维护查询范围、时间范围、SQL 内容和查询结果。
-
单击 SQL 编辑器区域的 + 按钮创建新的分析标签页。
-
单击标签页上的关闭按钮可以关闭标签页。
Catalog 面板操作
Catalog 面板展示数据目录的层级结构:Catalog > Namespace > Event Table > Columns。
|
操作 |
说明 |
|
搜索 |
在搜索框输入关键词过滤目录树 |
|
刷新 |
单击刷新按钮更新目录树 |
|
展开表 |
展开 Event Table 节点可查看所有列名及数据类型 |
|
查看表信息 |
悬浮于表名可查看表描述,支持复制表名 |
|
显示/隐藏 |
通过工具栏按钮切换 Catalog 面板的显示和隐藏 |
查询语法
数据分析当前支持 SQL 查询模式,兼容 PostgreSQL SQL 语法,同时扩展了全文检索能力。详见PostgreSQL 官方手册。
SQL 查询
数据分析支持标准 PostgreSQL SQL 语法,包括 SELECT、WHERE、GROUP BY、ORDER BY、JOIN、LIMIT 等。
示例:查询指定表中的事件数据。
SELECT order_id, amount, status
FROM "order-events"
LIMIT 10
-
表名需使用双引号包裹。
-
`SELECT *` 会自动转换为 SELECT 具体列名。建议在查询中直接指定需要的列,以提高查询效率。
-
所有查询自动限定在选定的 Catalog 和 Namespace 范围内。
-
所有查询需要指定时间范围(`__time__`)。通过控制台的时间范围选择器设置,无需手动在 SQL 中指定。
-
联邦查询中 JOIN 外部表时,外部表可以不指定 `__time__`。
全文检索
使用 SEARCH 关键词对事件内容进行全文检索。
语法:
SELECT * FROM "table_name" SEARCH 'keyword'
示例:检索包含"error"的事件记录。
SELECT * FROM "order-events" SEARCH 'error'
说明:SEARCH 关键词后的检索内容使用单引号包裹。
查询语法汇总
|
查询类型 |
语法说明 |
示例 |
|
全文检索 |
使用 |
|
|
标准 SQL |
兼容 PostgreSQL SQL 语法 |
|
|
联邦查询 |
通过 |
|