我想使用 COPY 命令將 .csv 檔案從 Amazon Simple Storage Service (Amazon S3) 載入到 Amazon Redshift 中。該檔案包含記錄。但是,該命令不會載入檔案或傳回錯誤。
解決方法
如果 .csv 檔案使用歸位字元作為行結束字元,則 COPY 無法將資料載入 Amazon Redshift。歸位字元包括十六進位的「\\r」、「^M」或「0x0D」。
由於 Amazon Redshift 不會將歸位字元識別為行結束字元,因此 Amazon Redshift 會將檔案剖析為一行。當您在 COPY 命令中將 IGNOREHEADER 參數設為非零數字時,Amazon Redshift 會跳過第一行。因此,Amazon Redshift 也會跳過整個檔案。該命令不會傳回載入錯誤,因為該操作從技術上來說是成功的。
若要解決此問題,請將歸位字元替換為 CRLF、十六進位中的「\\r\\n」或「0x0D0A」,或替換為 LF、十六進位中的「\\n」或「0x0A」。將將修改後的檔案上傳到 S3 儲存貯體,然後再次執行 COPY 命令。
如果替換歸位字元後仍遇到問題,請執行以下動作:
相關資訊
資料來源
COPY 範例