管理者設定 - クエリ

[管理] メニューの [データベース] セクションの [クエリ] ページでは、Looker がデータベースに送信した最新の 50 件のクエリに関する情報を表示可能。それより古いクエリについては、Looker の使用状況セクションをご覧ください。

基本的なクエリ情報

定義
時間 アプリケーションのタイムゾーンで表示されるクエリの開始時間。
ステータス クエリのステータス。次の情報が含まれます。
  • キャッシュ: Looker はデータベースに対して重複するクエリを実行する代わりに、キャッシュから結果を返しました。
  • 完了: クエリが正常に完了しました。
  • エラー: エラーが発生したため、クエリが正常に完了できませんでした。[詳細ボタン] をクリックして、詳細を確認してください。
  • キャンセル済み: クエリが Looker またはユーザーによってキャンセルされました。
  • PDT 待機: クエリを実行するには、永続的な派生テーブルが構築されるのを待つ必要があります。
  • PDT の作成: 永続的な派生テーブルは現在構築中です。
  • キューイング中: すでに進行中のクエリが多すぎるため、クエリの実行を待機しています(クエリは、Looker の接続設定またはデータベースで制限できます)。
  • 実行中: クエリは実行中です。
  • 不明: Looker がこのクエリで何が起きたのか特定できませんでした。
接続 このクエリが実行された Looker 接続
ユーザー このクエリを実行したユーザー(特定可能な場合)。Looker が永続的な派生テーブルを作成する場合や、不明なユーザーが公開の Look にアクセスした場合などは、特定のユーザーによって実行されないクエリもあります。
ソース Explore のページや SQL Runner など、Looker におけるクエリの送信元。可能な場合は、保存済みの Look へのリンク、またはクエリ ID とモデルと Explore の名前も表示されます。一部のクエリには、SQL Runner で実行されるクエリなどの追加情報はありません。
ランタイム クエリの実行にかかった時間。これには、クエリの構築、クエリがキューで使用した時間、データベース間の移行、クエリのデータベース実行が含まれます。

クエリが現在実行中の場合、ランタイムにはそれまでのクエリの実行時間が表示されます。以前に実行されたクエリについては、ランタイムは、クエリの実行を完了するまでの推定時間も表示します。推定値は、クエリの最後の実行時間に基づいており、「約 2 秒」のように表示されます。
詳細ボタン 詳しくは、このページの詳細ボタンのサブセクションをご覧ください。

詳細ボタン

クエリの右側にある [詳細] ボタンをクリックすると、そのクエリに関する追加情報が表示されます。[クエリの詳細] ポップアップには次のものが含まれます。

  • クエリに関する詳細を含む [Info] セクション(次のテーブルを参照)。
  • データベースに対して実行された未加工の SQL が表示される [SQL] セクション。コンテキスト コメントは、[クエリの詳細] 情報には表示されません。コメントがクエリのキャッシュに影響するのを防ぐために、Looker は SQL がデータベースに送信される直前に、コンテキスト コメント を送信 SQL コマンドに追加します。
  • [SQL Runner] でクエリを開く [SQL Runner で開く] リンク。

[Info] セクションには、次の情報が含まれています。

セクション 定義
履歴 ID クエリの履歴 ID(利用可能な場合)。
ステータス 基本クエリ情報テーブルで説明されているクエリのステータス。
メッセージ クエリに PDT が含まれている場合は、このフィールドに PDT 生成コメントが表示されます。クエリに PDT が含まれていない場合、このフィールドは表示されません。
接続 このクエリが実行された Looker 接続
ユーザー このクエリを実行したユーザー(特定可能な場合)。Looker が永続的な派生テーブルを作成する場合や、不明なユーザーが公開の Look にアクセスした場合などは、特定のユーザーによって実行されないクエリもあります。
ソース Explore のページや SQL Runner など、Looker におけるクエリの送信元。可能であれば、保存済み Look へのリンク、クエリ ID、モデル名、Explore 名、選択したフィールドなど、追加情報が表示されます。
Start Time アプリケーションのタイムゾーンで表示されるクエリの開始時間。
終了時刻 アプリケーションのタイムゾーンで表示されるクエリの終了時間。
ランタイム クエリの実行にかかった時間。

クエリの強制終了

クエリが実行されているブラウザタブを閉じると、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 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 9.5 より前
はい
PrestoDB
はい
Presto SQL
はい
SAP HANA 2+
はい
SingleStore
はい
SingleStore 7+
はい
Snowflake
はい
Teradata
はい
Trino
はい
Vector
はい
Vertica
はい

クエリのタイムアウトとキュー

Looker は、長時間キューで待機しているクエリを強制終了します。このオペレーションは、タイムアウトと呼ばれます。クエリには、以下のようなタイムアウトが適用される場合があります。

  • 接続プールのタイムアウト: 同時実行クエリでデータベースの過負荷を防ぐため、Looker は Looker クエリキューに過剰な同時実行クエリを保持し、キューに長時間残っているクエリを強制終了します。デフォルトでは、接続あたり最大 75 件の同時クエリを使用できます。接続上限を超えた追加のクエリは、0 秒後にタイムアウトします。これらのデフォルトを変更するには、接続の接続設定ページで、最大接続数接続プールのタイムアウト設定を構成します。

  • ユーザーごとのクエリ制限とタイムアウト: 1 人のユーザーが Looker クエリキューをいっぱいにしてしまうことがないように、各ユーザーには許可される同時クエリの最大数と、対応するキューのタイムアウトが設定されています。デフォルトでは、各ユーザーは最大 15 個の同時クエリを実行できます。この上限によりキューに登録されたクエリのタイムアウトは 600 秒です。これらの設定は、通常の認証プロセスを使用して Looker にログインするユーザーと、API ユーザー認証情報を使用してログインするユーザーの両方に適用されます。Looker インスタンスがセルフホスト型の場合は、--per-user-query-limit--per-user-query-timeout起動オプションを構成することで、これらのデフォルトを変更できます。

  • Scheduler Query Limit and Timeout: Looker スケジューラ プロセスの過負荷を防ぐため、Looker インスタンスでは最大 10 個の同時実行スケジュール クエリを実行でき、スケジューラ キュー内のクエリのタイムアウトは 1,200 秒です。Looker インスタンスがセルフホスト型の場合は、--scheduler-query-limit--scheduler-query-timeout起動オプションを構成することで、これらのデフォルトを変更できます。

  • Renderer query limit and timeout: Looker レンダラ プロセスが過負荷状態になるのを防ぐため、Looker インスタンスで最大 2 つの画像ベースのダウンロード(PDF や PNG 形式など)を同時にレンダリングできます。 Looker インスタンスがセルフホスト型の場合は、--concurrent-render-jobs 起動オプションを構成することでこのデフォルトを変更できます。

  • Webhook タイムアウト: Looker では、Webhook へのデータ配信を最大 30 分間試行します。Looker が 30 分以内に Webhook の送信先と通信できない場合、クエリはタイムアウトします。このタイムアウトは構成できません。
    • プロキシのタイムアウト: 多くの場合、セルフホスト型のインスタンスは、デフォルトで 60 秒のタイムアウトを持つプロキシを使用しています。このタイムアウトは 60 分に増やすことをおすすめします。詳細については、Looker プロキシのコミュニティ投稿のプロキシ サーバーまたはロードバランサの背後で Looker を実行するをご覧ください。

    • データベースのタイムアウト: ほとんどのデータベースには、Looker のキューやタイムアウトとは別のキューとタイムアウトのルールがあります。たとえば、クエリが Looker のキューから抜けた場合でも、データベース上ではまだキューに残っている可能性があります。データベース クエリのタイムアウトをカスタマイズする方法については、データベースのドキュメントをご覧ください。