首先,我想提一下,我嘗試在現有的 SO 問題中搜索此問題,但找不到遇到的情況。因此提出了一個新問題。
所以我正在嘗試將資料從 S3 匯入 Redshift。
S3中的資料是由換行符分隔的JSON資料,即\n(使用UNLOAD命令從其他redshift集群匯出)
復制命令是 -
copy redhist_table_name
from 's3://bucket/path/to/s3/json/file.json'
iam_role 'iam_role_info'
region 'region';
json 'auto';
STL_LOAD_ERRORS 顯示錯誤為 -delimiter not found 但當我仔細觀察時,我發現復制命令僅從 json 行復制前 1024 個字符,導致上述錯誤
我查找了復制命令提供的所有選項,以查看是否有辦法增加此限制,但我沒有找到。
任何想法這個限制來自哪里?或者這不是這個問題的根本原因嗎?
uj5u.com熱心網友回復:
所以我認為這不是根本原因。Stl_load_errors 僅在“raw_line”列中存盤 1024 個字符。一行的長度很可能是有限制的,但我知道它比 1024 個字符長得多。
檔案中的哪一行是 COPY 失敗的?首先還是檔案后面的某個地方?
如果檔案深處有一行,則可能有問題。UNLOAD to COPY 應該可以正常作業,但我可以看到可能存在一些極端情況(如字串值中的 " )。如果它是特定行,那么發布該行(如果需要進行清理)會有所幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/452638.html
上一篇:AWS中斷重新路由
下一篇:為什么這個部分模板專業化失敗了?
