管理菜单的数据库部分中的查询页面会列出 Looker 最近向数据库提交的 50 条查询的相关信息。如需了解晚于最近 50 个查询的查询,请参阅 Looker 的使用部分。
如果您已启用增强型查询管理实验室功能,则“查询”页面会显示以下标签页:
- 最近:显示过去一小时内运行的查询。Looker 管理员可以通过此标签页取消正在运行的查询。
- 完成:显示最近的 500 条查询。
如果您尚未启用增强型查询管理实验室功能,则查询页面会在单个页面上列出最近 50 次查询。
基本查询信息
列 | 定义 |
---|---|
时间 | 查询的开始时间,以应用时区显示。 |
状态 | 查询的状态,可能包括: |
连接 | 运行此查询时所用的 Looker 连接。 |
用户 | 运行此查询的用户(如果可以确定)。某些查询不会由特定用户执行,例如 Looker 创建永久性派生表或未知用户访问公开 Look 时。 |
来源 | Looker 中查询的来源,例如“探索”页面或 SQL Runner。如果可能,系统还会显示指向已保存的“外观”的链接或查询 ID,以及模型和“探索”的名称。有些查询没有其他信息,例如在 SQL Runner 中运行的查询。通过开放式 SQL 接口发出的查询的来源值为 Sql_interface 。 |
运行时 | 运行查询所用的时间。这包括查询的构建、查询在队列中花费的时间、往返数据库以及查询的数据库执行情况。如果查询当前正在运行,运行时将显示查询已经运行了多长时间。对于之前运行的查询,运行时还会显示查询完成运行所需的时间的估算值。该估算值是根据上次运行查询的时长得出的,大致为“约 2 秒”之类的内容。 |
“详细信息”按钮 | 如需了解详情,请参阅本页面上的“详细信息”按钮子部分。 |
“详情”按钮
点击任何查询右侧的详细信息按钮,即可显示与该查询相关的其他信息。Query Details 弹出式窗口包含以下内容:
- 信息部分,其中包含与查询相关的详细信息(请参阅下表)。
- SQL 部分,显示对数据库执行的原始 SQL。上下文注释不会显示在查询详情信息中。为防止注释影响查询缓存,Looker 会在将 SQL 发送到数据库之前,将上下文注释添加到传出 SQL 命令中。
- 通过 Open SQL 接口发出查询后显示的 SQL 接口查询部分。本部分显示从外部 BI 工具发送到 Looker 的 SQL 查询,有助于排查问题和重现问题。
- 用于在 SQL Runner 中打开查询的 Open in SQL Runner 链接。
信息部分包含以下信息:
段 | 定义 |
---|---|
历史记录 ID | 查询的历史记录 ID(如果有)。 |
状态 | 查询的状态,如基本查询信息表中所述。 |
消息 | 如果查询包含 PDT,此字段中会显示 PDT 生成评论。如果查询不包含 PDT,则该字段不会显示。 |
连接 | 运行此查询的 Looker 连接。 |
用户 | 运行此查询的用户(如果可以确定)。有些查询不是由特定用户执行的,例如,Looker 创建永久派生表或未知用户访问公开数据分析时。 |
来源 | Looker 中查询的来源,例如探索页面或 SQL Runner。系统会尽可能显示其他信息,例如指向已保存的 Look 的链接、查询 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 | 是 |
迪诺多 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 数据库 | 是 |
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
启动选项来更改此默认设置。
代理超时:客户托管的实例通常使用默认超时时间为 60 秒的代理。我们建议将此超时时间延长至 60 分钟。如需了解详情,请参阅 Running Looker behind a proxy server or load balancer(在代理服务器或负载均衡器后面运行 Looker)这篇 Looker 社区帖子。
数据库超时:大多数数据库都有队列和超时规则,这些规则与 Looker 的队列和超时无关。例如,某个查询可能已经离开 Looker 队列,但仍可以在数据库中排队。如需详细了解如何自定义数据库查询超时,请参阅数据库的文档。