Looker の永続的な派生テーブル(PDT)関数を使用すると、Looker 内で複雑な分析を実行できます。Looker では、[永続的な派生テーブル] ページに PDT の動作の追跡とトラブルシューティングに役立つ管理者向け機能がいくつか表示されます。これらの管理者は、適切な権限を持つ管理者とユーザーが [管理] パネルの [データベース] セクションからアクセスできます。(PDT のトラブルシューティングについては、Looker の派生テーブルをご覧ください)。
[永続的な派生テーブル] ページには、PDT が有効になっている接続と、次の条件を満たす PDT のみが表示されます。
- PDT は製品版のビューファイルで定義されます。ただし、開発モードになっている場合は、[Develop] タブを使用して永続テーブルの開発バージョンを確認できます。
- PDT が、正しく構成されたモデルの一部となっている。
- PDT は、データアクセスが付与されたモデルの一部です。
このページの情報は、このページの PDT イベントログ モデルで説明されている内部 PDT イベントログに基づいています。
テーブルのカスタマイズ
デフォルトでは、[永続的な派生テーブル] ページには最大 25 個の PDT が表示され、Looker インスタンスでデータアクセスがあるすべての接続の PDT が読み込まれます。表に表示されるデータを変更するには、次のような方法があります。
- [All Connections] の横にある矢印をクリックして、特定の接続の PDT のみを表示します。セレクタには、PDT が有効になっており、かつデータにアクセスできる接続のみが表示されます。
- 検索ボックスにキーワードを入力して、PDT リストを名前にキーワードを含む PDT を絞り込む。テーブルには、一致する検索キーワードを含む PDT が太字で表示されます。検索バーの [X] をクリックして、検索クエリをクリアします。
- フィルタ アイコンをクリックして、テーブルのフィルタを定義します。
- 閉じる/開くアイコンをクリックして、[At a Glance] セクションを表示または非表示にします。
- 列の名前をクリックすると、その列を基準に表を並べ替えることができます。並べ替え順を逆にするには、もう一度列名をクリックします。
- [表示する列を選択] アイコンをクリックすると、表内の列の表示と非表示を切り替えることができます。
- ページ下部の矢印をクリックすると、次または前のページに移動します(表が 1 ページより長い場合)。
- 表示セレクタを使用して、1 ページに表示する検索結果の数を選択します。
フィルタリング
検索バーの横にあるフィルタ アイコンを使用すると、[永続的な派生テーブル] ページに表示する PDT を選択できます。たとえば、[Last Build Status] でフィルタしてビルドエラーが発生している PDT のみを表示したり、[Model] でフィルタして PDT を特定のモデルに制限したりできます。
永続的な派生テーブルのページをフィルタリングするには:
- フィルタ アイコンをクリックします。
- フィルタ メニューの最初のフィルタ セレクタからフィルタ オプションを選択します。次の選択肢が用意されています。
- [Last Triggered in Last] - 指定した時間(分単位)にトリガーされなかった PDT によって [永続的な派生テーブル] ページをフィルタします。
- 最後のトリガー - 特定の時間(分単位)でトリガーされた PDT によって [永続的な派生テーブル] ページをフィルタします。
- Model - Persistent Derived Tables ページを、指定したモデルに含まれる PDT でフィルタします。
- Persistent Rule - [永続的な派生テーブル] ページを PDT の永続性タイプでフィルタします。
- Last Attempt Status - 指定した PDT ステータスで [永続的な派生テーブル] ページにフィルタを適用します。
- Stable ビューとして公開 - PDT の [永続的な派生テーブル] ページをフィルタリングし、Stable ビューとして公開された PDT の場合は [Yes]、安定ビューとして公開されなかった PDT の場合は [No] を表示するブール値です。
publish_as_db_view
パラメータの値によって決まります。 - 前回のビルド時間の長さ - [永続的な派生テーブル] ページを、ビルドに要する秒数が経過した PDT でフィルタします。
- Project - 指定した LookML プロジェクトの PDT で [永続的な派生テーブル] ページをフィルタします。
- 2 番目のフィルタ セレクタで、[派生派生テーブル] ページをフィルタする値を選択します。[最後のトリガー] または [最後のトリガー] のオプションに、時間または分数を入力します。[前回のビルドの所要時間が長い] オプションに秒数を入力します。
- [フィルタを追加] をクリックしてフィルタを追加し、追加するフィルタごとに手順 2 と 3 を繰り返します。
- フィルタの選択をクリアして、最初からやり直すには、[すべてクリア] をクリックします。
- その他のフィルタを個別に削除するには、削除するフィルタの上にある [消去] をクリックします。
- 選択したフィルタ条件を [派生派生テーブル] ページに適用するには、[適用] をクリックします。
[派生派生テーブル] ページの上部に、適用されているフィルタが表示されます。
適用したフィルタの横にある X をクリックして、[永続的な派生テーブル] ページから削除します。[すべてクリア] をクリックして、すべてのフィルタをクリアします。
PDT ページについて
以降のセクションでは、永続的な派生テーブルのページについて説明します。
[Production] タブと [Development] タブ
開発モードの LookML 開発者の場合、永続的な派生テーブルには 2 つのタブがあります。
デフォルトでは [Production] タブが選択され、製品版 PDT が表示されます。これらは、インスタンスに本番環境にデプロイされている PDT です。これらの PDT はユーザーにデータと PD のクエリを提供します。(本番環境モードになっている場合、または
develop
権限がない場合、[永続的な派生テーブル] ページにはタブが表示されず、本番環境 PDT の情報のみが表示されます)。[Development] タブには開発 PDT が表示されます。これらの PDT は開発中に作成され、まだ本番環境に push されていません。
開発モードの LookML デベロッパーが PDT のデータや PDT のクエリ方法に影響する変更を行うと、Looker は開発 PDT を作成します。これらの変更を行うと、Looker は開発用 PDT を作成しますが、変更後に PDT をクエリしない限り、Looker は実際には PDT をビルドしません。[Development] タブでは、Looker が作成した開発 PDT と、ビルドされた PDT がビルドされているかどうかを確認できます。
ヒント: Looker IDE を使用して、プロジェクトのビルドされていない PDT を表示することもできます。
Looker が開発 PDT を作成するよう促す内容と、開発用 PDT がデータベースで保持される期間の詳細については、Looker の派生テーブルをご覧ください。
Google Pixel のスナップショット
[At a Glance] セクションには、PDT テーブルに現在表示されている PDT のステータスの視覚的な概要が表示されます。テーブルのフィルタを定義している場合、またはページ上部の [すべての接続] の横にある矢印をクリックして、特定の接続にテーブルを絞り込む場合は、[スナップショット] セクションで PDT テーブルに表示される結果に合わせて結果を絞り込むことができます。
[スナップショット] セクションを表示または非表示にするには、セクションの上部にある閉じるアイコンをクリックします。
テーブル列
以降のセクションでは、永続的な派生テーブルのページテーブルの列について説明します。[表示する列を選択] アイコンをクリックすると、表の一部の列を非表示または表示できます。詳細については、このページのテーブルのカスタマイズをご覧ください。
PDT名
[PDT Name] 列には、PDT の LookML ビューファイルの view
パラメータで定義されている PDT の名前が表示されます。
[PDT Name] 列には、PDT 名の下に次の追加情報が表示されます(該当する場合)。
- 古いビルドは、行に古い PDT ビルドに関する情報が表示されていることを示します。このメッセージについて詳しくは、[オプション] メニューの [PDT の詳細] ポップアップをご覧ください。
- 増分は、PDT が増分 PDT であることを示します。
- マテリアライズド ビューは、PDT がデータベースのマテリアライズド ビューであることを示しています。
最後に試行されたステータス
[Last Attempt Status] 列には、各 PDT のビルド試行の最後のステータスが表示されます。
- 再生成中は、PDT をクエリでき、現在構築中の更新済みテーブルがあることを示します。タイムスタンプは PDT のビルドが開始した時刻を示します。
- 成功: PDT が正常にビルドされたことを示します。
- ビルドは、PDT が現在ビルド中で、ビルドが完了するまでクエリできないことを示します。
- 非ビルドは、PDT がビルドされていないことを示します。
- ビルドエラーは、ビルド中にエラーが発生したことを示します。[Build Error] をクリックするとエラーのソースが表示されます。LookML の表示に必要な権限がある場合は、PDT の LookML に移動できます。永続的な派生テーブルにある PDT のトラブルシューティングについて詳しくは、このページのオプション メニュー セクションをご覧ください。
最後の試行:
[Last Attempted At] 列には、最後に試行された PDT ビルドの時刻が表示されます。
最後に成功した作成
[Last Successful Build] 列には、前回成功した PDT ビルドの時刻が表示されます。
直近のビルド期間
[前回のビルドの所要時間] 列には、その PDT の最新ビルドにかかった時間(秒単位)と、PDT の平均ビルド所要時間(秒)が表示されます。
永続性ルール
永続性ルール 列には、PDT のビューファイルで定義されている、PDT に適用される永続性のタイプが表示されます。また、PDT が正常にビルドされた最後の確認日時(トリガータイプの PDT の場合)または正常にビルドされた PDT の期限切れ期限(永続タイプの PDT の場合)も表示されます。[永続性ルール] 列には、次の 2 種類の永続性が表示されます。
- [永続性:(時間)] は、
persist_for
パラメータで永続化された PDT に対して表示されます。 - トリガー: (データグループ名) は、
datagroup_trigger
パラメータで永続化された PDT に対して表示されます。データグループ名リンクをクリックすると、datagroup
パラメータのsql_trigger
値が表示されます。 - トリガー: SQL は、
sql_trigger_value
パラメータで永続化された PDT に対して表示されます。リンクをクリックすると、sql_trigger_value
ステートメントが表示されます。 - マテリアライズド ビューは、マテリアライズド ビューに対して表示されます。マテリアライズド ビューは、データベースの機能を使用して、データベースに対する派生テーブルを永続化します。
プロジェクト
[Project] 列には、PDT が定義されている LookML プロジェクトの名前が表示されます。
接続
選択した接続から [すべての接続] が選択されている場合、[接続] 列が表示され、PDT が有効になっている接続の名前が表示されます。
モデル
[モデル] 列には、PDT のビューファイルが含まれるモデルファイルの名前が表示されます。
同じ接続を共有する複数のモデルファイルに PDT ビューファイルが含まれている場合、[モデル] 列に複数のモデルが表示されます。接続の異なる複数のモデルファイルに PDT ビューファイルが含まれている場合、他の接続 PDT リストにも PDT が表示されます。
モデルにビューファイルを含める場合は、明示的に行うことが重要です。すべてのビューファイルを含めると、データベース スキーマが雑然として、データベースまたは複数のデータベースに PDT のコピーが複数作成される可能性があるためです。
オプションメニュー
その他メニューは、予期しない動作のトラブルシューティングに特に役立ちます。表示されたオプションで、テーブルが最後にビルドされた時間の確認、ビルドにかかった時間の確認、最新のビルド時間と平均ビルド時間の比較、トリガーが正しく機能しているかどうかを確認できます。以下から選択できます。
- LookML に移動 - LookML を表示するための適切な権限が付与されている場合、PDT が定義されているビューファイルを開きます。
- PDT アクティビティ ダッシュボード - PDT アクティビティ ダッシュボードが開き、選択した PDT の過去 4 週間のアクティビティが表示されます。
- PDT の詳細 - 特定の PDT の詳細情報と統計情報を示すポップアップが開きます。詳しくは、このページの PDT 詳細モーダルのセクションをご覧ください。
その他のトラブルシューティングのヒントについては、PDT の再生成のトラブルシューティングに関するヘルプセンター記事をご覧ください。
PDT の詳細モーダル
PDT のその他メニューにある [PDT の詳細] オプションをクリックして、PDT の詳細モーダルを表示します。
モーダルの情報は、PDT の構成によって異なります。表示される情報は以下のとおりです。
- Table Name: 正常にビルドされた最新の PDT のハッシュ。
- モデル: PDT のビューファイルが含まれるモデルファイルの名前。
- Stable 名: データベース上の PDT の安定版データベース ビューの名前(PDT が安定版ビューとして公開されている場合)。データベースで PDT を安定版ビューとして公開するには、
publish_as_db_view: yes
ステートメントを派生テーブルに追加するか、materialized_view: yes
ステートメントを使用して、派生テーブルをマテリアライズド ビューにします。 - Connection: PDT が有効になっている接続の名前。
- 古いビルド: ビルドが古い PDT ビルドの場合は [Yes]、そうでない場合は [No] を表示するブール値。
- Table Type: 古いビルドの場合、このフィールドが表示され、テーブルタイプが表示されます。対象となる値には [Old Generation Table] と [Standin] があります。
- 増分 PDT: PDT が増分 PDT の場合は「はい」、そうでない場合は「いいえ」を表示するブール値。
- ステータス: 前回の試行ステータス を表示します。ビルドに失敗した場合は、SQL エラー メッセージと、モデルの LookML へのリンクが表示されます(ユーザーが LookML を表示する適切な権限を持っている場合)。
- 依存関係: [依存関係グラフを表示] ボタンをクリックすると、この PDT が依存するすべての派生テーブルの関係図が表示されます。図の各ノードは派生テーブルに対応しています。各ノードの色は、次のように派生テーブルのステータスに対応します。
- 緑色のノードは正常に構築された PDT を表します。
- 黄色のノードは、現在ビルドまたは増分している PDT を表します。
- 赤いノードはビルドに失敗した PDT を表しています。
- グレーのノードは、まだビルドされていない PDT を表します。
- 白いノードは、一時的な派生テーブルを表します。これは Looker でビルドされません。
- 前回のビルド:
- Latest Successful Build: 最新の PDT ビルドの日時。
- Latest Build Duration: 最新の PDT ビルドにかかった時間(秒単位。テーブルがまだビルドされていない場合は – と表示されます)。
- Average Build Duration: PDT の平均ビルド時間(秒単位。テーブルがまだビルドされていない場合は – と表示されます)。
- ビルドの理由: PDT がビルドされた理由(初期ビルドでは開始、データグループで PDT が保持されている場合はデータグループがトリガーされる、PDT の SQL トリガー値が変更された場合はトリガー値の変更)。
- 増分キー: 増分ビルドを使用する PDT の
increment_key
パラメータ。 - 増分オフセット: 増分ビルドを使用する PDT の
increment_offset
パラメータ。 - 増分ビルドが追加された / 削除された行の数: テーブルが最後に増分されたときにテーブルに対して追加または削除された行の数(テーブルの永続化戦略が最後に増分されたときに行が追加または削除された場合は、– が表示されます)。
- 前回試行された SQL: データベースにクエリを実行してテーブルの最後のビルドを作成するために使用された SQL。
- 永続性ルール:
- タイプ: テーブルで使用される永続性のタイプ。有効な値については、このページの永続性ルールの列をご覧ください。
- 永続性: 永続性タイプの PDT の場合、永続性の値。トリガータイプの PDT には適用されません。
- データグループ: データグループのトリガー PDT の場合は、データグループの名前を入力します。
- SQL コードブロック: データグループと SQL トリガー PDT の場合、コードブロックにはトリガーの SQL ステートメントが表示されます。データグループのトリガーの場合、これはデータグループの
sql_trigger
パラメータの SQL です。SQL トリガーの場合、これはsql_trigger_value
パラメータの SQL です。 - Trigger Value: Trigger タイプの PDT の場合、PDT ビルドをトリガーした値(
datagroup_trigger
で永続化され正常にビルドされた PDT の場合には – が表示され、datagroup の最新のトリガー値を確認するには、管理パネルの Datagroup ページをご覧ください)。 - Last Checked: トリガータイプの PDT で、トリガー値が最後に確認されたとき。
- 有効期限: PDT の有効期限です(該当する場合)。データグループ トリガーには適用されません。
PDT アクティビティ ダッシュボード
[PDT Activity] ダッシュボードには、PDT とその再構築、クエリに関する情報が表示されます。
デフォルトでは、[PDT アクティビティ] ダッシュボードには過去 4 週間のアクティビティ情報が表示されます。期間の変更は、ダッシュボードの上部にあるフィルタバーを使用して行います。[PDT Activity] ダッシュボードには、次の情報を示すタイルが含まれます。
- PDT を定義する LookML モデルとビューの名前、PDT が使用するデータベースの接続の名前、PDT のビルド成功と失敗の試行回数の合計、失敗のビルド合計試行の割合などの PDT の概要。
- PDT の最新の完全再ビルドの日時。
- PDT が増分 PDT の場合、PDT の直近の増分再ビルドの日時。
- PDT が増分 PDT の場合、最新の完全再ビルド以降に発生した増分再ビルドの数。
- PDT の再構築にかかった平均時間。
- ビジュアル表示では、最近作成されたすべてのイベントが表示され、イベントの原因となったアクションの種類の概要で示されます。
- ダッシュボードの期間中に行われたすべての PDT 再ビルドのリスト。各再ビルドが完了した日付、各再ビルドの完了にかかった秒数、再ビルドが増分ビルドであったかどうか、各再ビルドの原因となったトリガー、PDT ビルドの数など。
- すべての再ビルドに失敗した回数のリスト。再ビルドが失敗した日時、失敗の原因となったエラーの種類、エラー メッセージ、作成失敗の回数が含まれます。
- PDT の再ビルドトリガーのすべてのイベントのリスト。イベント ID 番号、イベントの日付、イベントの種類、トリガー イベントに含まれるデータが含まれます。
- すべての PDT 再ビルドのイベントのリスト(イベント ID 番号、イベントの日付、イベントの種類、再ビルドイベントに含まれるデータなど)。
- フィールドに直接クエリを行ったクエリの数。クエリのソースと各クエリソースの平均ランタイムでグループ化されます。
- PDT で実行されたクエリの合計数。
- クエリされたすべての PDT フィールドのリストで、フィールドを定義している LookML ビューとモデル、フィールド名、フィールドを含む Explore 実行の名前、フィールドがクエリに含められた回数など。
PDT イベントログ モデル
Looker には事前に構築された system_activity
モデルがあり、PDT イベントログを簡単に調べることができます。PDT はデータベース接続の一時スキーマ内のテーブルで、PDT のトリガーやビルド アクティビティを追跡します。モデルには、Recent Build Events リンクと Recent Trigger Events リンク(Persistent Derived Tables] ページの Options のその他メニューから、または Looker の Admin パネルの Connections ページからアクセスできます。[接続] ページから PDT イベントログ Explore にアクセスするには、各接続の右端にある歯車メニューから [PDT イベントログを表示] オプションを選択します。
他の Looker Explore と同様に、モデルを探索できます。[Connections] ページからアクセスすると、接続全体について PDT Event Log Explore がフィルタされます。[永続的な派生テーブル] ページからアクセスすると、PDT イベントログの Explore は特定の PDT でフィルタされます。
以下は、使用可能な項目に関する簡単な説明です。
フィールド | 説明 |
---|---|
アクション | 発生した操作について説明します。アクティビティにアクティビティ(再生成、削除、作成、削除)が含まれる場合もあります。 PDT のログ操作とそれに対応する操作データの表示と理解について詳しくは、PDT ログの操作についてに関するドキュメント ページをご覧ください。 |
アクション データ | 使用されているトリガー、トリガーの値、永続テーブルの有効期限、再ビルドの原因、エラー テキストなど、アクションに関する詳細情報を提供します。 PDT ログ アクションとそれに対応するアクション データの表示と理解について詳しくは、PDT ログ アクションについてのページをご覧ください。 |
接続 | 派生テーブルが存在する接続の名前。 |
ハッシュ | 各派生テーブルには、テーブルを作成するために作成された SQL のハッシュが含まれています。 |
ID | PDT を生成した Looker インスタンスの一意の ID。多くの場合、データベースを指す Looker インスタンスは 1 つに限られるため、ID は 1 つだけになります。ただし、ステージング インスタンスなどが存在する場合は、複数の ID が表示されることがあります。 |
モデル名 | テーブルが生成されたモデルの名前。 |
発生日 | イベントが発生した日時。 |
ユーザー表示日 | イベントが発生した日時(UTC)。 |
シーケンス | PDT ビルドのステップ番号。 |
短いハッシュ | 派生テーブルを作成するために書き込まれた SQL のハッシュの切り捨てバージョン。 |
Table Name | テーブルタイプの接頭辞、ハッシュ、ビュー名を含む PDT の完全な名前。 |
ティッド | 取引 ID。 |
View Name | 派生テーブルのビュー名。 |