管理者設定 - クエリ

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

Enhanced Query Admin Labs 機能を有効にしている場合、[クエリ] ページには次のタブが表示されます。

  • 最近: 過去 1 時間に実行されたクエリが表示されます。Looker 管理者は、このタブから実行中のクエリをキャンセルできます。
  • 完了: 最新の 500 件のクエリが表示されます。

Enhanced Query Admin Labs 機能を有効にしていない場合、[クエリ] ページには過去 50 件のクエリが単一のページに表示されます。

基本的なクエリ情報

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

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

詳細ボタン

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

  • クエリに関する詳細を含む [Info] セクション(次のテーブルを参照)。
  • データベースに対して実行された未加工の SQL が表示される [SQL] セクション。コンテキスト コメントは、[クエリの詳細] 情報には表示されません。コメントがクエリのキャッシュに影響するのを防ぐために、Looker は SQL がデータベースに送信される直前に、コンテキスト コメント を送信 SQL コマンドに追加します。
  • Open SQL インターフェースからクエリが発行されたときに表示される [SQL インターフェースのクエリ] セクション。このセクションには、外部 BI ツールから Looker に送信された SQL クエリが表示されます。問題のトラブルシューティングや再現に役立ちます。
  • SQL Runner でクエリを開く [SQL Runner で開く] リンク。

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

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

クエリの強制終了

クエリが実行されているブラウザタブを閉じると、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
PrestoSQL
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 のキューから抜けた場合でも、データベース上ではまだキューに残っている可能性があります。データベース クエリのタイムアウトをカスタマイズする方法については、データベースのドキュメントをご覧ください。