Webインターフェース

Prestoは、クエリを監視および管理するためのWebインターフェースを提供します。Webインターフェースは、コーディネーターの設定プロパティで指定されたHTTPポート番号を使用して、HTTP経由でPrestoコーディネーターにアクセスできます。

メインページには、一意のクエリID、クエリテキスト、クエリ状態、完了率、ユーザー名、およびこのクエリの発生元などの情報とともに、クエリのリストが表示されます。現在実行中のクエリはページの上部に表示され、その後に最近完了または失敗したクエリが表示されます。

考えられるクエリ状態は次のとおりです。

  • QUEUED(キューに入れられました) – クエリは受け入れられ、実行を待機しています。

  • PLANNING(計画中) – クエリは計画されています。

  • STARTING(開始中) – クエリの実行が開始されています。

  • RUNNING(実行中) – クエリには、少なくとも1つの実行中のタスクがあります。

  • BLOCKED(ブロックされました) – クエリはブロックされており、リソース(バッファスペース、メモリ、分割など)を待機しています。

  • FINISHING(完了中) – クエリは完了しています(例:自動コミットクエリのコミット)。

  • FINISHED(完了しました) – クエリの実行が完了し、すべての出力が消費されました。

  • FAILED(失敗しました) – クエリの実行に失敗しました。

BLOCKED状態は正常ですが、永続的な場合は調査する必要があります。考えられる原因は多数あります。メモリまたは分割の不足、ディスクまたはネットワークI/Oのボトルネック、データの偏り(すべてのデータが少数のワーカーに送られる)、並列処理の不足(使用可能なワーカーが少ない)、または特定のステージに続くクエリの計算コストの高いステージです。さらに、クライアントがデータを十分な速さで処理していない場合(「SELECT *」クエリでよく見られる)、クエリはBLOCKED状態になる可能性があります。

クエリに関する詳細情報を表示するには、クエリIDリンクをクリックします。クエリ詳細ページには、概要セクション、クエリのさまざまなステージのグラフィック表現、およびタスクのリストがあります。各タスクIDをクリックすると、そのタスクに関する詳細情報を取得できます。

概要セクションには、現在実行中のクエリを強制終了するためのボタンがあります。概要セクションでは、タスクの実行とタイムラインの2つの視覚化を使用できます。クエリに関する情報と統計を含む完全なJSONドキュメントは、*JSON*リンクをクリックすると表示できます。これらの視覚化やその他の統計を使用して、クエリに時間がかかっている場所を分析できます。