スキップしてコンテンツを表示

COPY コマンドを実行しても、.csv ファイルが Amazon Redshift でロードされない理由を知りたいです。

所要時間1分
0

COPY コマンドを実行し、Amazon Simple Storage Service (Amazon S3) の .csv ファイルを Amazon Redshift にロードしようとしています。このファイルにはレコードが含まれていますが、コマンドを実行してもファイルが読み込まれず、エラーは発生しません。

解決策

.csv ファイルでキャリッジリターンを改行文字として使用している場合、COPY で Amazon Redshift にデータをロードできません。キャリッジリターンには、\\r、^M (16 進数では 0x0D) が含まれます。

Amazon Redshift はキャリッジリターンを改行文字として認識しないため、Amazon Redshift はファイルを 1 行として解析します。COPY コマンドで IGNOREHEADER パラメータをゼロ以外の数値に設定すると、Amazon Redshift は最初の行をスキップします。その結果、Amazon Redshift はファイル全体もスキップします。形式上は、操作は成功しているため、コマンドはロードエラーを返しません。

この問題を解決するには、キャリッジリターンを CRLF (\\r\\n、16 進数で 0x0D0A) または、LF (\\n、16 進数で 0x0A) に置き換えます。変更したファイルを S3 バケットにアップロードし、COPY コマンドを再度実行します。

キャリッジリターンを置換しても問題が解決しない場合は、次の手順を実行します。

関連情報

データソース

COPY の例

AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ