网页界面

Presto 提供了一个用于监控和管理查询的网页界面。可以通过 Presto 协调器上的 HTTP 访问网页界面,使用协调器 配置属性 中指定的 HTTP 端口号。

主页面列出了查询,以及诸如唯一查询 ID、查询文本、查询状态、完成百分比、用户名以及此查询起源的来源等信息。当前正在运行的查询位于页面顶部,之后是最近完成或失败的查询。

可能的查询状态如下

  • QUEUED – 查询已被接受并正在等待执行。

  • PLANNING – 查询正在规划。

  • STARTING – 查询执行正在启动。

  • RUNNING – 查询至少有一个正在运行的任务。

  • BLOCKED – 查询被阻塞,正在等待资源(缓冲空间、内存、拆分等)。

  • FINISHING – 查询正在完成(例如,自动提交查询的提交)。

  • FINISHED – 查询已完成执行,所有输出已消耗。

  • FAILED – 查询执行失败。

BLOCKED 状态是正常的,但如果它持续存在,则应进行调查。它有许多潜在的原因:内存或拆分不足、磁盘或网络 I/O 瓶颈、数据倾斜(所有数据都进入少数工作节点)、缺乏并行性(只有少数工作节点可用)或查询在给定阶段之后计算量很大的阶段。此外,如果客户端处理数据的速度不够快(在“SELECT *”查询中很常见),则查询也可能处于 BLOCKED 状态。

有关查询的更多详细信息,只需单击查询 ID 链接。查询详细信息页面包含一个摘要部分、查询各个阶段的图形表示以及任务列表。可以单击每个任务 ID 以获取有关该任务的更多信息。

摘要部分有一个用于终止当前正在运行的查询的按钮。摘要部分提供了两种可视化:任务执行和时间线。通过单击JSON 链接,可以获得包含查询信息和统计信息的完整 JSON 文档。这些可视化和其他统计信息可用于分析查询在哪些地方花费了时间。