

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# データロードをトラブルシューティングするためのシステムテーブル
<a name="system-tables-for-troubleshooting-data-loads"></a>

以下の Amazon Redshift システムテーブルは、データのロードに関する問題のトラブルシューティングに役立ちます。
+ 特定のロード中に発生したエラーを見つけるには、[STL\$1LOAD\$1ERRORS](r_STL_LOAD_ERRORS.md) にクエリします。
+ 特定のファイルのロード時間を参照したり、特定のファイルが読み取られたかどうかを確認するには、[STL\$1FILE\$1SCAN](r_STL_FILE_SCAN.md) にクエリします。
+ [STL\$1S3CLIENT\$1ERROR](r_STL_S3CLIENT_ERROR.md) にクエリを実行し、Amazon S3 からのデータ転送時に発生したエラーの詳細を調べます。

**ロードエラーを検出し、診断するには、次の操作を実行します。**

1. ロードエラーに関する詳細を返すビューを作成するか、クエリを定義します。次の例では、STL\$1LOAD\$1ERRORS テーブルが STV\$1TBL\$1PERM テーブルと結合し、テーブル ID と実際のテーブル名が照合されます。

   ```
   create view loadview as
   (select distinct tbl, trim(name) as table_name, query, starttime,
   trim(filename) as input, line_number, colname, err_code,
   trim(err_reason) as reason
   from stl_load_errors sl, stv_tbl_perm sp
   where sl.tbl = sp.id);
   ```

1. COPY コマンドの MAXERRORS オプションを十分な大きさの値に設定し、データに関する役に立つ情報を COPY で返せるようにします。COPY でエラーが発生した場合、エラーメッセージにより STL\$1LOAD\$1ERRORS テーブルで詳細を確認するように指示されます。

1. LOADVIEW ビューにクエリし、エラー詳細を確認します。次に例を示します。

   ```
   select * from loadview where table_name='venue';
   ```

   ```
     tbl   | table_name | query |         starttime          
   --------+------------+-------+----------------------------
    100551 | venue      | 20974 | 2013-01-29 19:05:58.365391 
   
   |     input      | line_number | colname | err_code |       reason
   +----------------+-------------+---------+----------+--------------------
   | venue_pipe.txt |           1 |       0 |     1214 | Delimiter not found
   ```

1. ビューが返す情報に基づいて、入力ファイルまたはロードスクリプトの問題を修正します。注意するべき一般的なロードエラーには次のものがあります。
   + テーブルのデータ型と入力データフィールドの値の不一致。
   + テーブルの列数と入力データのフィールド数の不一致。
   + 引用符が一致しません。Amazon Redshift は、一重引用符と二重引用符の両方をサポートしています。ただし、これらの引用符は適切にバランスを取る必要があります。
   + 正しくない入力ファイルの日付/時刻形式。
   + 入力ファイルの値が範囲外 (数値列に関して)。
   + 列の値の数がその圧縮エンコーディングの制限を超えている。