查询配置文件

你可以使用查询配置文件来可视化查询执行的详细信息。 查询配置文件可帮助你解决查询执行期间的性能瓶颈问题。 例如:

  • 可以可视化每个查询运算符和相关指标,例如所花费的时间、已处理的行数、已处理的行数和内存消耗量。
  • 你可以一目了然地确定查询执行中最慢的部分,并评估修改对查询造成的影响。
  • 你可以发现和解决 SQL 语句中的常见错误,例如分解联接或全表扫描。

要求

若要查看查询配置文件,必须是查询的所有者,或者必须至少对执行查询的 SQL 仓库具有 CAN MONITOR 权限

查看查询配置文件

可以使用以下步骤从查询历史记录中查看查询配置文件:

  1. 查看查询历史记录

  2. 单击查询的名称。 查询详细信息面板显示在屏幕右侧。

    查询执行摘要简单视图

  3. 单击“查看查询配置文件”

    注意

    如果显示“查询配置文件不可用”,则此查询没有可用的配置文件。 查询配置文件不可用于从查询缓存运行的查询。 要绕过查询缓存,请对查询进行细微的更改,例如更改或删除 LIMIT

  4. 若要在图形视图中查看查询配置文件(默认设置),请单击“图形视图”。 若要以树的形式查看查询配置文件,请单击“树状视图”

    • 图视图经过优化,用于可视化数据如何从一个节点流向另一个节点。
    • 树视图经过优化,可以快速查找查询性能问题,例如识别运行时间最长的运算符。
  5. 在图形视图或树视图中,可以单击页面顶部的选项卡之一,查看每个查询运算符的详细信息。

    • 花费的时间:每个操作所用的聚合时间。 还提供了任务的总时间。
    • :受每个查询运算符影响的行数和大小。
    • 峰值内存:每个查询运算符使用的峰值内存。

    注意

    某些非 Photon 操作以组的形式执行并共享公共指标。 在这种情况下,所有操作的值都与给定指标的父运算符相同。

  6. 在图形视图中,可以单击操作员以显示详细指标。 在树视图中,可以单击运算符的名称以查看相关详细信息。

  7. 每个节点都标有其操作。 默认情况下,某些操作的指标处于隐藏状态。 因为这些操作不太可能导致性能瓶颈。 如需了解所有操作的信息以及查看其它指标,可以单击页面顶部的Kebab 菜单,然后单击“启用详细模式”。 最常见的操作是:

    • 扫描:从数据源读取数据并作为行输出。
    • 联接:来自多个关系的行被组合(交错)成一组行。
    • 联合:来自使用相同模式的多个关系的行被连接成一组行。
    • 随机:数据被重新分配或重新分区。 随机操作在资源方面是昂贵的,因为它们在群集上的执行程序之间移动数据。
    • 哈希/排序:行按键分组,并使用聚合函数(如每个组中的 COUNTMAX)进行评估。
    • 筛选器:根据条件(例如 子句)筛选输入,并返回行的子集。
    • (重用)交换:随机或广播交换用于根据所需的分区在群集节点之间重新分配数据。
    • 收集限制:使用 LIMIT 语句截断返回的行数。
    • 进行排序并预测:返回查询结果的前 N 行。
  8. (可选)对于 Databricks SQL 查询,还可以在 Apache Spark UI 中查看查询配置文件。 Kebab 菜单单击页面顶部的 Kebab 菜单,然后单击“在 Spark UI 中打开”。

  9. 若要关闭查询配置文件,请单击面板底部附近的“ 隐藏查询配置文件 ”。

还可以在 UI 的以下部分访问查询配置文件:

  • 在 SQL 编辑器中:查询完成后,页面底部附近的链接显示已用时间和返回的行数。 单击该链接可打开 查询详细信息 面板。 单击“查看查询配置文件”

    从编辑器输出打开查询历史记录

    注意

    如果启用了 新的 SQL 编辑器 (公共预览版),链接会显示在笔记本中。

  • 从笔记本:如果笔记本附加到 SQL 仓库或无服务器计算,则可以使用包含查询的单元格下的链接访问查询配置文件。 单击“查看性能打开运行历史记录。 单击某个语句以打开 查询详细信息 面板。

    打开查询历史记录笔记本输出

  • 在 Delta Live Tables 管道 UI 中:可以从管道 UI 中的 “查询历史记录”选项卡访问查询历史记录 和配置文件。 请参阅 Delta Live Tables 管道的访问查询历史记录

  • 在作业 UI 中:这仅适用于无服务器作业。 请参阅 使用无服务器计算运行 Azure Databricks 作业, 了解如何从作业 UI 打开查询配置文件。

查看有关查询配置文件的详细信息

查询配置文件按相反顺序列出查询的顶级运算符,最后一个运算符先列出。 使用以下步骤自行熟悉查询配置文件的不同部分。

  1. 使用查询配置文件视图顶部附近的“时间”、“行”和“峰值内存”按钮查看每个类别中的顶级指标。
  2. 单击运算符可查看有关操作的详细信息,例如有关持续时间、内存消耗量、返回的行数和大小以及使用的任何分组和聚合表达式或输出属性的说明和指标。
  3. 若要关闭操作员详细信息,请单击“ 返回查询详细信息”。
  4. 若要关闭查询配置文件,请单击右侧面板底部附近的“ 隐藏查询配置文件 ”。

共享查询配置文件

要与其他用户共享查询配置文件:

  1. 查看查询历史记录
  2. 单击查询的名称。
  3. 要共享查询,你有两种选择:
    • 如果其他用户对查询具有“可管理”权限,你可以与他们共享查询配置文件的 URL。 单击“共享”。 URL 将复制到剪贴板。
    • 如果其他用户没有“可管理”权限或不是工作区的成员,你可以将查询配置文件下载为 JSON 对象。 下载。 JSON 文件将下载到你的本地系统。

导入查询配置文件

要导入查询配置文件的 JSON:

  1. 查看查询历史记录

  2. 单击右上角的烤肉串菜单 Kebab 菜单,然后选择“导入查询配置文件(JSON)”。

  3. 在文件浏览器中,选择与你共享的 JSON 文件,然后单击“打开”。 上传 JSON 文件并显示查询配置文件。

    当你导入查询配置文件时,它会动态加载到你的浏览器会话中,并且不会保留在你的工作区中。 每次要查看时都需要重新导入。

  4. 若要关闭导入的查询配置文件,请单击页面顶部的“X”。

后续步骤