管理设置 - 查询

管理菜单的数据库部分的查询页面列出了有关 Looker 最近提交到数据库的 50 个查询的信息。如需了解早于此时间的查询,请参阅 Looker 的用法部分。

基本查询信息

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

如果查询当前正在运行,运行时将显示查询已经运行了多长时间。对于之前运行的查询,运行时还会显示查询完成运行所需的时间的估算值。该估算值是根据上次运行查询的时长得出的,大致为“约 2 秒”之类的内容。
“详细信息”按钮 如需了解更多详情,请参阅此页面上的“详细信息”按钮子部分。

“详情”按钮

点击任意查询右侧的详细信息按钮即可打开有关该查询的更多信息。Query Details 弹出式窗口包含以下内容:

  • 信息部分,包含有关查询的详细信息(请参阅下表)。
  • SQL 部分,显示针对数据库执行的原始 SQL。上下文备注不会显示在查询详细信息信息中。为防止注释影响查询缓存,Looker 会在将 SQL 发送到数据库之前,将上下文注释添加到传出 SQL 命令中。
  • 用于在 SQL Runner 中打开查询的 Open in SQL Runner 链接。

信息部分包含以下信息:

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

终止查询

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

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

方言 是否支持?
阿克蒂安雪崩
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
迪诺多 7
迪诺多 8 号星
德雷米奥
Dremio 11+
Exasol
火箭
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 数据库
Microsoft Azure Synapse 分析
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 及更高版本
PostgreSQL 9.5 之前的版本
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 启动选项来更改此默认设置。

  • 网络钩子超时:Looker 会尝试将数据传送到网络钩子,最长不超过 30 分钟。如果 Looker 无法在 30 分钟内与网络钩子目标位置通信,则查询将会超时。此超时不可配置。
    • 代理超时:客户托管的实例通常使用代理,默认超时时间为 60 秒。我们建议您将此超时时间延长至 60 分钟。如需了解详情,请参阅在代理服务器或负载均衡器后面运行 Looker Looker 社区帖子。

    • 数据库超时:大多数数据库都有队列和超时规则,这些规则与 Looker 的队列和超时无关。例如,某个查询可能已经离开 Looker 队列,但仍可以在数据库中排队。如需详细了解如何自定义数据库查询超时,请查看您数据库的文档。