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)