あるデータエンジニアリングチームは、Amazon S3 から Amazon Redshift へのデータロードに COPY コマンドを定期実行しています。 あるロードジョブが失敗しましたが、出力には「1 error(s) encountered. Load into table 'orders' was aborted.」というメッセージしか表示されず、原因の詳細が不明です。 どのファイルの何行目・どのカラム・どの値でエラーが発生したかを特定するために最も適切な方法はどれですか?
Amazon Redshift の STL_LOAD_ERRORS および STL_LOADERROR_DETAIL システムテーブルをクエリして、失敗したファイル・行番号・カラム・値のエラー詳細を確認する。 STL_LOAD_ERRORS には COPY コマンドで失敗したロードのエラー詳細(エラーメッセージ・ファイル名・行番号)が自動記録されます。STL_LOADERROR_DETAIL にはさらに詳細な情報(問題のあるカラム名・値)が格納されており、これらを組み合わせることでエラー原因を迅速に特定できます。 選択肢B は Amazon CloudWatch Logs には Redshift の COPY コマンドのロウレベルなエラー詳細は記録されません。Redshift の診断にはシステムテーブルを使用します。 選択肢C は DataBrew によるプロファイリングはデータ品質の事前確認に有効ですが、すでに失敗したジョブのエラー詳細を事後調査する手段としては適切ではありません。 選択肢D は 手動検証は大規模ファイルでは非現実的であり、システムテーブルを活用する方法と比べて時間とコストがかかります。