查询配置文件
你可以使用查询配置文件来可视化查询执行的详细信息。 查询配置文件可帮助你解决查询执行期间的性能瓶颈问题。 例如:
- 你可以可视化每个查询任务及其相关指标,例如花费的时间、处理的行数、处理的行数和内存消耗。
- 你可以一目了然地确定查询执行中最慢的部分,并评估修改对查询造成的影响。
- 你可以发现和解决 SQL 语句中的常见错误,例如分解联接或全表扫描。
重要
SQL 查询的查询历史记录中记录的时间只是 SQL 仓库在实际执行查询时所花的时间。 它不记录与准备执行查询相关的任何额外开销,例如内部排队时间,或与数据上传和下载过程相关的额外时间。
要求
要查看查询配置文件,你必须是查询的所有者,或者你必须对执行查询的 SQL 仓库具有“可管理”权限。
查看查询配置文件
在 SQL 编辑器或笔记本中运行查询后,可以通过单击输出底部的已经过时间打开查询配置文件。
还可以从查询历史记录中查看查询配置文件,如下所示:
查看查询历史记录。
单击查询的名称。 此时将显示查询指标的概述。
单击“查看查询配置文件”。
注意
如果显示“查询配置文件不可用”,则此查询没有可用的配置文件。 查询配置文件不可用于从查询缓存运行的查询。 要绕过查询缓存,请对查询进行细微的更改,例如更改或删除
LIMIT
。若要在图形视图中查看查询配置文件(默认设置),请单击“图形视图”。 若要以树的形式查看查询配置文件,请单击“树状视图”。
- 图视图经过优化,用于可视化数据如何从一个节点流向另一个节点。
- 树视图经过优化,可以快速查找查询性能问题,例如识别运行时间最长的运算符。
在图形视图或树状视图中,可以单击页面顶部的其中一个选项卡,查看有关每个查询任务的详细信息。
- 所花时间:每个操作的所有任务所花费的执行时间的总和。
- 行:受每个查询任务影响的行数和大小。
- 峰值内存:每个查询任务使用的内存峰值。
注意
某些非 Photon 操作以组的形式执行并共享公共指标。 在这种情况下,所有子任务与给定指标的父任务具有相同的值。
在图形视图中,如果任务具有子任务,请单击节点以显示其详细信息。 在树状视图中,可以单击 > 将其展开。
将显示每个任务的操作。 默认情况下会隐藏某些操作的任务和指标。 因为这些操作不太可能导致性能瓶颈。 如需了解所有操作的信息以及查看其它指标,可以单击页面顶部的,然后单击“启用详细模式”。 最常见的操作是:
- 扫描:从数据源读取数据并作为行输出。
- 联接:来自多个关系的行被组合(交错)成一组行。
- 联合:来自使用相同模式的多个关系的行被连接成一组行。
- 随机:数据被重新分配或重新分区。 随机操作在资源方面是昂贵的,因为它们在群集上的执行程序之间移动数据。
- 哈希/排序:行按键分组,并使用聚合函数(如每个组中的 、
COUNT
或MAX
)进行评估。 - 筛选器:根据条件(例如 子句)筛选输入,并返回行的子集。
- (重用)交换:随机或广播交换用于根据所需的分区在群集节点之间重新分配数据。
- 收集限制:使用
LIMIT
语句截断返回的行数。 - 进行排序并预测:返回查询结果的前 N 行。
如需在 Apache Spark UI 中查看查询配置文件,可单击页面顶部的,然后单击“在 Spark UI 中打开”。
若要关闭导入的查询配置文件,请单击页面顶部的“X”。
有关查询配置文件中可用信息的更多详细信息,请参阅查看有关查询配置文件的详细信息。
查看有关查询配置文件的详细信息
查询配置文件以相反的顺序列出查询的顶级任务,最后一个任务列在最前面。 在左侧,三列显示任务序列、操作名称以及该任务的选定指标图表。 按照以下步骤熟悉查询配置文件的不同部分。
- 单击“时间”以查看每个子任务的持续时间。
- 单击“行”以查看查询返回的行数和大小。
- 单击“内存”以查看每个查询任务消耗的内存。 如果任务包含子任务,则可以单击“>”以查看每个子任务的详细信息。
- 在右侧单击“概述”,查看查询的 SQL 语句、状态、开始和结束时间、持续时间、运行查询的用户以及执行查询的仓库。
- 单击任务可查看有关任务的详细信息,例如任务的描述和有关任务持续时间、内存消耗、返回的行数和大小以及世系的指标。
- 要关闭子任务详细信息,请单击 X。
- 单击 SQL 仓库的名称,转到该仓库的属性。
- 如需在 Apache Spark UI 中查看查询配置文件,可单击页面顶部的,然后单击“在 Spark UI 中打开”。
- 若要关闭查询配置文件,请单击页面顶部的“X”。
共享查询配置文件
要与其他用户共享查询配置文件:
- 查看查询历史记录。
- 单击查询的名称。
- 要共享查询,你有两种选择:
- 如果其他用户对查询具有“可管理”权限,你可以与他们共享查询配置文件的 URL。 单击“共享”。 URL 将复制到剪贴板。
- 如果其他用户没有“可管理”权限或不是工作区的成员,你可以将查询配置文件下载为 JSON 对象。 下载。 JSON 文件将下载到你的本地系统。
导入查询配置文件
要导入查询配置文件的 JSON:
查看查询历史记录。
单击右上角的烤肉串菜单 ,然后选择“导入查询配置文件(JSON)”。
在文件浏览器中,选择与你共享的 JSON 文件,然后单击“打开”。 上传 JSON 文件并显示查询配置文件。
当你导入查询配置文件时,它会动态加载到你的浏览器会话中,并且不会保留在你的工作区中。 每次要查看时都需要重新导入。
若要关闭导入的查询配置文件,请单击页面顶部的“X”。
后续步骤
- 了解如何使用查询历史记录 API 访问查询指标
- 了解有关查询历史记录的更多信息