STL_FILE_SCAN - Amazon Redshift

STL_FILE_SCAN

COPY コマンドを使用してデータをロードした際に、Amazon Redshift により読み込まれたファイルを返します。

このビューをクエリすることで、データのロード時のエラーをトラブルシューティングすることができます。一般的にデータの並行ロードでは、1 つの COPY コマンドによって多くのファイルがロードされるため、STL_FILE_SCAN は、データの並行ロードにおける問題を特定する際に特に役立ちます。

STL_FILE_SCAN はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できますが、通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。

注記

STL_FILE_SCAN には、メインクラスターで実行されるクエリのみが含まれます。同時実行スケーリングクラスターで実行されるクエリは含まれていません。メインクラスターおよび同時実行スケーリングクラスターの両方で実行されるクエリにアクセスするには、SYS モニタリングビュー SYS_LOAD_DETAIL を使用することをお勧めします。SYS モニタリングビューのデータは、使いやすく理解しやすいようにフォーマットされます。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。クエリ列は、他の各種システムテーブルおよびビューを結合するために使用できます。
slice integer クエリが実行されていたスライスを識別する番号。
name character(90) ロードされたファイルのフルパスおよび名前。
lines bigint ファイルから読み込まれた行数。
バイト bigint ファイルから読み込まれたバイト数。
loadtime bigint ファイルのロードにかかった時間 (マイクロ秒)。
curtime タイムスタンプ Amazon Redshift がファイルの処理を開始した時刻を表すタイムスタンプ。
is_partial integer COPY オペレーションの実行中に入力されたファイルが、いくつかの範囲で分割されていることを (true (1) で) 示す値。この値が false (0) の場合、入力ファイルは分割されていません。
start_offset bigint COPY オペレーション中に入力されたファイルが分割されていた場合、分割のオフセット値をバイト単位で示す値。ファイルが分割されていない場合、この値は 0 になります。

サンプルクエリ

次のクエリは、Amazon Redshift による読み込み時間が 1,000,000 マイクロ秒を超えたすべてのファイルの名前およびロード時間を取得します。

select trim(name)as name, loadtime from stl_file_scan where loadtime > 1000000;

このクエリは、次の例のような出力を返します。

name | loadtime ---------------------------+---------- listings_pipe.txt | 9458354 allusers_pipe.txt | 2963761 allevents_pipe.txt | 1409135 tickit/listings_pipe.txt | 7071087 tickit/allevents_pipe.txt | 1237364 tickit/allusers_pipe.txt | 2535138 listings_pipe.txt | 6706370 allusers_pipe.txt | 3579461 allevents_pipe.txt | 1313195 tickit/allusers_pipe.txt | 3236060 tickit/listings_pipe.txt | 4980108 (11 rows)