COPY を使用して CSV ファイルを Amazon Redshift にロードしようとすると、何もロードされません
最終更新日: 2020 年 1 月 3 日
COPY コマンドを使用して、Amazon Simple Storage Service (Amazon S3) から Amazon Redshift に CSV ファイルをロードしようとしているのですが、ファイルにレコードが含まれていても、何もロードされず、エラーも返されません。
解決方法
この問題は、CSV ファイルでキャリッジリターン (16 進数で「\\r」、「^M」、または「0x0D」) が行末記号として使用されている場合に発生します。Amazon Redshift はキャリッジリターンを行末記号として認識しないため、ファイルは 1 行として解析されます。COPY コマンドの IGNOREHEADER パラメータがゼロ以外の数値に設定されている場合、Amazon Redshift は最初の行をスキップするため、ファイル全体がスキップされます。操作が技術的に成功したため、ロードエラーは返されません。
この問題を解決するには、キャリッジリターンを CRLF (16 進数の「\\r\\n」または「0x0D0A」) または LF (16 進数の「\\n」または「0x0A」) に置き換えます。変更したファイルを S3 バケットにアップロードしてから、COPY コマンドを再試行します。