無限ノック › DEA 練習問題一覧 › 問題
DEAデータオペレーションとサポート

あるデータエンジニアリングチームは、Amazon S3 から Amazon Redshift へのデータロードに COPY コマンドを定期実行しています。 あるロードジョブが失敗しましたが、出力には「1 error(s) encountered. Load into table 'orders' was aborted.」というメッセージしか表示されず、原因の詳細が不明です。 どのファイルの何行目・どのカラム・どの値でエラーが発生したかを特定するために最も適切な方法はどれですか?

A
Amazon Redshift の STL_LOAD_ERRORS および STL_LOADERROR_DETAIL システムテーブルをクエリして、失敗したファイル・行番号・カラム・値のエラー詳細を確認する
✓ 正解
Amazon Redshift の STL_LOAD_ERRORS および STL_LOADERROR_DETAIL システムテーブルをクエリして、失敗したファイル・行番号・カラム・値のエラー詳細を確認する。 STL_LOAD_ERRORS には COPY コマンドで失敗したロードのエラー詳細(エラーメッセージ・ファイル名・行番号)が自動記録されます。STL_LOADERROR_DETAIL にはさらに詳細な情報(問題のあるカラム名・値)が格納されており、これらを組み合わせることでエラー原因を迅速に特定できます。
B
Amazon CloudWatch Logs で Redshift クラスターの監査ログを検索し、COPY コマンドのロウレベルのエラー詳細を確認する
Amazon CloudWatch Logs には Redshift の COPY コマンドのロウレベルなエラー詳細は記録されません。Redshift の診断にはシステムテーブルを使用します。
C
AWS Glue DataBrew を使用してロード前にソースファイルのデータプロファイリングを実施し、問題のあるデータを特定する
DataBrew によるプロファイリングはデータ品質の事前確認に有効ですが、すでに失敗したジョブのエラー詳細を事後調査する手段としては適切ではありません。
D
Amazon S3 のソースファイルをダウンロードし、Redshift のテーブル定義(CREATE TABLE 文)と照合して手動でデータを検証する
手動検証は大規模ファイルでは非現実的であり、システムテーブルを活用する方法と比べて時間とコストがかかります。

解説

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 は 手動検証は大規模ファイルでは非現実的であり、システムテーブルを活用する方法と比べて時間とコストがかかります。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る