管理 菜单的数据库 部分中的查询 页面列出了 Looker 向数据库提交的最近 50 个查询的相关信息。如需了解超过最近 50 个查询的查询,请参阅 Looker 的使用情况 部分。
基本查询信息
| 列 | 定义 |
|---|---|
| 时间 | 查询的开始时间,以您的应用时区显示。 |
| 状态 | 查询的状态,可能包括: |
| 连接 | 运行此查询的 Looker 连接。 |
| 用户 | 运行此查询的用户(如果可以确定)。有些查询不是由特定用户执行的,例如 Looker 创建永久性派生表时,或者未知用户访问公开 Look时。 |
| 来源 | Looker 中查询的来源,例如“探索”页面或 SQL Runner。如果可能,系统还会显示指向已保存 Look 的链接,或者查询 ID以及模型和探索的名称。有些查询没有其他信息,例如在 SQL Runner 中运行的查询。从 Open SQL Interface 发出的查询的 来源 值为 Sql_interface。 |
| 运行时 | 运行查询所用的时间。这包括查询的构建、查询在队列中花费的任何时间、与数据库之间的传输以及数据库执行查询。如果查询正在运行,运行时将显示查询已运行的时长。对于之前运行的查询,运行时还会显示查询完成运行所需时间的估算值。此估算值基于查询上次运行的时长,并会显示类似“约 2 秒”的内容。 |
| “详细信息”按钮 | 如需了解更多详细信息,请参阅本页面上的“详细信息”按钮子部分。 |
“详细信息”按钮
点击任何查询右侧的详细信息 按钮,即可显示有关该查询的其他信息。查询详细信息 菜单包括以下内容:
- 信息 部分,其中包含有关查询的详细信息(请参阅下表)。
- SQL 部分,其中显示了针对数据库执行的原始 SQL。上下文注释 不会显示在 查询详细信息 信息中。为了防止注释影响查询缓存,Looker 会在将 SQL 发送到数据库之前,将上下文注释添加到传出的 SQL 命令中。
- 一个 SQL 接口查询 部分,当通过 Open SQL Interface 发出查询时,此部分会显示。此部分显示了从外部 BI 工具发送到 Looker 的 SQL 查询,有助于排查和重现问题。
- 一个在 SQL Runner 中打开链接,点击后会在SQL Runner中打开查询。
信息 部分包含以下信息:
| 部分 | 定义 |
|---|---|
| 历史记录 ID | 查询的历史记录 ID(如果有)。 |
| 状态 | 查询的状态,如基本查询信息表中所示。 |
| 消息 | 如果查询包含 PDT,则 PDT 生成注释 会显示在此字段中。如果查询不包含 PDT,则此字段不会显示。 |
| 连接 | 运行此查询的 Looker 连接。 |
| 用户 | 运行此查询的用户(如果可以确定)。有些查询不是由特定用户执行的,例如 Looker 创建永久性派生表时,或者未知用户访问公开 Look时。 |
| 来源 | Looker 中查询的来源,例如探索 页面或 SQL Runner。如果可能,系统会显示其他信息,例如指向已保存 Look 的链接、查询 ID、模型名称、探索名称或所选字段。 |
| 开始时间 | 查询的开始时间,以您的应用时区显示。 |
| 结束时间 | 查询的结束时间,以您的应用时区显示。 |
| 运行时 | 运行查询所用的时长。 |
终止查询
对于支持终止查询的方言,Looker 可以通过以下两种方式停止正在运行的查询:
- 如果用户关闭运行查询的浏览器标签页,Looker 会自动停止查询。
- Looker 管理员可以从查询 管理页面停止正在运行的查询,只需点击查询的停止 按钮即可。(拥有
see_queries权限 的用户可以查看 查询 页面,但只有 Looker 管理员可以停止正在运行的查询。)
如需让 Looker 终止查询(无论是通过关闭运行查询的浏览器标签页,还是通过在查询 页面中停止查询),您的数据库方言都必须支持终止查询。下表显示了在最新版 Looker 中支持终止查询的方言:
| 方言 | 是否支持? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| 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+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard 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+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
查询超时和排队
Looker 会终止在队列中等待时间过长的查询。此操作称为“超时”。 您的查询可能适用以下几种超时:
连接池超时和并发查询数上限:为防止并发查询使数据库过载,Looker 会将多余的并发查询保留在 Looker 查询队列中,并终止在队列中停留时间过长的查询。默认情况下,每个连接最多允许 75 个并发查询。超出连接限制的其他查询将在 0 秒后超时。如需更改这些默认值,请在连接的连接设置 页面上配置“最大连接数”“此连接的并发查询数上限 ”和连接池超时 设置。
每用户查询数限制和超时:为防止任何单个用户填满 Looker 查询队列,每个用户都有允许的并发查询数上限,以及因并发查询数限制而排队的查询的相应队列超时。每用户限制适用于使用常规身份验证流程登录 Looker 的用户,也适用于使用 API 用户凭据登录的用户。您可以通过以下两种方式为 Looker 实例上的连接定义每用户并发查询数上限:
- The
per-user-query-limit启动选项。这是一项实例级设置,用于为实例上的连接设置默认值。per-user-query-limit启动选项限制了 Looker 实例上每个用户、每个连接、每个节点的并发查询数。默认情况下,每个用户最多允许 15 个并发查询,此限制适用于每个有效连接,如果您的 Looker 实例是 集群,则适用于集群中的每个节点。默认情况下,每个用户每个连接每个节点最多可以运行 15 个并发查询,超时时间为 600 秒。例如,如果您有一个 5 节点的集群,且per-user-query-limit为 15,则每个节点将允许每个用户针对此连接执行 15 个并发查询,所有节点总共允许 75 个查询 (15 * 5 = 75)。
您可以使用连接的连接设置 页面上的此连接的每用户并发查询数上限 设置,更改连接的每用户查询数限制。如果您的 Looker 实例是客户托管的,您可以通过配置
--per-user-query-limit启动选项来更改每用户并发查询数的默认上限,还可以使用--per-user-query-timeout启动选项来配置队列超时。- 连接的连接设置 中的此连接的每用户并发查询数上限 选项。此连接的每用户并发查询数上限 设置的默认值为 25,并且是按用户和按连接设置的,而不是按节点设置的。例如,如果您有一个 5 节点的集群,并将此值设置为 15,则每个节点将允许每个用户针对此连接执行 3 个并发查询 (15 / 5 = 3),所有节点总共允许 15 个查询。对于连接,如果为此连接的每用户并发查询数上限 设置提供了值,则此连接的每用户并发查询数上限 值将覆盖连接的
per-user-query-limit启动选项。
- The
调度器查询数限制和超时:为防止 Looker 调度器进程过载,Looker 实例最多可以运行 10 个并发计划查询,调度器队列中查询的超时时间为 1,200 秒。如果您的 Looker 实例是客户托管的,您可以通过配置
--scheduler-query-limit和--scheduler-query-timeout启动选项来更改这些默认值。渲染器查询数限制和超时:为防止 Looker 渲染器进程过载,Looker 实例最多可以渲染 2 个并发的基于图片的下载(例如 PDF 和 PNG 格式)。如果您的 Looker 实例是客户托管的,您可以通过配置
--concurrent-render-jobs启动选项来更改此默认值。
代理超时:客户托管的实例通常使用默认超时时间为 60 秒的代理。我们建议将此超时时间增加到 60 分钟。如需了解详情,请参阅在代理服务器或负载均衡器后运行 Looker Looker 社区帖子。
数据库超时:大多数数据库都有排队和超时规则,这些规则独立于 Looker 的队列和超时。例如,查询可能已离开 Looker 队列,但仍可能在数据库中排队。如需详细了解如何自定义数据库查询超时,请查看数据库的文档。