管理员设置 - 查询

管理菜单的数据库部分中的查询页面列出了 Looker 最近向数据库提交的 50 条查询的相关信息。如需了解晚于最近 50 个查询的查询,请参阅 Looker 的使用部分。

如果您已启用增强型查询管理 Labs 功能,则“查询”页面会显示以下标签页:

  • 最近:显示过去一小时内运行的查询。Looker 管理员可以在此标签页中取消正在运行的查询。
  • 完整:显示最近 500 次查询。

如果您尚未启用增强型查询管理实验室功能,则查询页面会在单个页面上列出最近 50 次查询。

基本查询信息

定义
时间 查询的开始时间,以应用时区显示。
状态 查询的状态,可能包括:
  • 缓存:Looker 会从缓存中返回结果,而不是对数据库运行重复查询。
  • 已完成:查询已成功完成。
  • 错误:由于发生错误,查询未能成功完成。如需了解详情,请点击“详细信息”按钮
  • 已取消:查询已被 Looker 或用户取消。
  • 等待 PDT:查询需要等待永久派生表构建完毕,然后才能执行。
  • 正在构建 PDT:正在构建永久性派生表
  • 已加入队列:由于正在处理的查询过多,因此该查询正在等待执行(Looker 可能会限制连接设置中的查询或数据库中的查询)。
  • 正在运行:查询正在运行中。
  • 未知:Looker 无法确定此查询的具体情况。
连接 运行此查询时所用的 Looker 连接
用户 运行此查询的用户(如果可以确定)。有些查询不是由特定用户执行的,例如,Looker 创建永久派生表或未知用户访问公开数据分析时。
来源 Looker 中查询的来源,例如“探索”页面或 SQL Runner。如果可能,系统还会显示指向已保存的“外观”的链接或查询 ID,以及模型和“探索”的名称。某些查询没有其他信息,例如在 SQL Runner 中运行的查询。通过开放式 SQL 接口发出的查询的来源值为 Sql_interface
运行时 运行查询所用的时间。这包括查询的构建、查询在队列中花费的任何时间、往返数据库的时间,以及数据库执行查询的时间。

如果查询正在运行,运行时长将显示查询已运行的时长。对于之前运行的查询,运行时还会显示该查询完成运行所需的估算时间。此估算值基于上次运行查询的时长,并会显示类似“大约 2 秒”的字样。
“详情”按钮 如需了解详情,请参阅本页面上的“详细信息”按钮子部分。

“详情”按钮

点击任何查询右侧的详细信息按钮,即可显示有关该查询的其他信息。查询详情菜单包含以下内容:

  • 信息部分,其中包含有关查询的详细信息(请参阅下表)。
  • SQL 部分,显示对数据库执行的原始 SQL。上下文注释不会显示在查询详情信息中。为了防止注释影响查询缓存,Looker 会在 SQL 发送到数据库之前,将上下文注释添加到传出 SQL 命令。
  • SQL 接口查询部分:在通过开放式 SQL 接口发出查询时显示。此部分会显示从外部 BI 工具发送到 Looker 的 SQL 查询,有助于排查和重现问题。
  • 在 SQL Runner 中打开链接,用于在 SQL Runner 中打开查询。

信息部分包含以下信息:

部分 定义
历史记录 ID 查询的历史记录 ID(如果有)。
状态 查询的状态,如基本查询信息表中所述。
消息 如果查询包含 PDT,此字段中会显示 PDT 生成评论。如果查询不包含 PDT,则不会显示该字段。
连接 运行此查询时所用的 Looker 连接
用户 运行此查询的用户(如果可以确定)。有些查询不是由特定用户执行的,例如,Looker 创建永久派生表或未知用户访问公开数据分析时。
来源 Looker 中查询的来源,例如探索页面或 SQL Runner。系统会尽可能显示其他信息,例如指向已保存的数据集的链接、查询 ID、模型名称、探索名称或所选字段。
开始时间 查询的开始时间,以应用时区显示。
结束时间 查询的结束时间,以您的应用时区显示。
运行时 运行查询所花费的时间。

查询终止

当您关闭正在运行查询的浏览器标签页时,Looker 会自动停止该查询。Looker 管理员还可以从查询页面停止正在运行的查询。(拥有 see_queries 权限的用户可以查看查询页面,但只有 Looker 管理员可以停止正在运行的查询。)任何仍在运行的查询都会在其右侧显示一个停止按钮。点击停止以停止查询。

为了让 Looker 能够终止查询,您的数据库方言必须支持查询终止。以下列表显示了最新版 Looker 中支持查询终止的方言:

方言 是否支持?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18 及更高版本
Apache Hive 2.3 及更高版本
Apache Hive 3.1.2 及更高版本
Apache Spark 3 及更高版本
ClickHouse
Cloudera Impala 3.1 及更高版本
搭配原生驱动程序的 Cloudera Impala 3.1 及更高版本
使用原生驱动程序的 Cloudera Impala
DataVirtuality
Databricks
Denodo 7
Denodo 8
Dremio
Dremio 11+
Exasol
Firebolt
Google BigQuery 旧版 SQL
Google BigQuery 标准 SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008 及更高版本
Microsoft SQL Server 2012 及更高版本
Microsoft SQL Server 2016
Microsoft SQL Server 2017 及更高版本
MongoBI
MySQL
MySQL 8.0.12 及更高版本
Oracle
Oracle ADWC
PostgreSQL 9.5 及更高版本
9.5 之前的 PostgreSQL
PrestoDB
PrestoSQL
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
TeraData
Trino
向量
Vertica

查询超时和队列

Looker 会终止在队列中等待时间过长的查询。此操作称为超时。您的查询可能存在多种超时情况:

  • 连接池超时和并发查询数上限:为防止并发查询导致数据库过载,Looker 会将多余的并发查询保留在 Looker 查询队列中,并会终止在队列中停留时间过长的查询。默认情况下,每个连接最多允许 75 个并发查询。超出连接限制的其他查询将在 0 秒后超时。如需更改这些默认值,请在连接的连接设置页面上配置连接数上限此连接的并发查询数上限连接池超时设置。

  • 每位用户的查询限制和超时:为防止任何单个用户填满 Looker 查询队列,系统会为每位用户设置允许的并发查询数量上限和相应的队列超时时间。默认情况下,每个用户最多可以运行 15 个并发查询,并且因此限制而加入队列的查询的超时时间为 600 秒。这些设置适用于使用常规身份验证流程登录 Looker 的用户,也适用于使用 API 用户凭据登录的用户。如需更改这些默认值,请在连接的连接设置页面上配置此连接的每用户并发查询数上限设置。如果您的 Looker 实例由客户托管,您可以通过配置 --per-user-query-limit--per-user-query-timeout 启动选项来更改这些默认设置。

  • 调度程序查询限制和超时:为防止 Looker 调度程序进程过载,Looker 实例最多可以并发运行 10 个预定查询,并且调度程序队列中的查询超时时间为 1,200 秒。如果您的 Looker 实例由客户托管,您可以通过配置 --scheduler-query-limit--scheduler-query-timeout 启动选项来更改这些默认设置。

  • 渲染程序查询限制和超时:为防止 Looker 渲染程序过载,一个 Looker 实例最多只能渲染 2 个基于图片的并发下载(例如 PDF 和 PNG 格式)。如果您的 Looker 实例由客户托管,您可以通过配置 --concurrent-render-jobs 启动选项来更改此默认值。

  • Webhook 超时:Looker 会尝试将数据传送到 Webhook,最多 30 分钟。如果 Looker 在 30 分钟内无法与 webhook 目的地通信,则查询将超时。此超时不可配置。
    • 代理超时:客户托管的实例通常使用默认超时时间为 60 秒的代理。我们建议将此超时时间延长至 60 分钟。如需了解详情,请参阅 Running Looker behind a proxy server or load balancer(在代理服务器或负载平衡器后面运行 Looker)这篇 Looker 社区帖子。

    • 数据库超时:大多数数据库都有排队和超时规则,这些规则独立于 Looker 的队列和超时。例如,某个查询可能已从 Looker 队列中移除,但仍可能在数据库中排队。如需详细了解如何自定义数据库查询超时,请参阅数据库的文档。