AWS Redshiftへのcopy文のパラメータ設定について

【やりたいこと】
AWS Lambdaでs3に到着したcsvファイル(cp932型式)をRedshiftにcopyしたい。

【エラー内容】
下記ロジックをpythonで記載し実行しますと下段のようなエラーが吐き出されます。

copy xxxx from 's3://yyy/zzz.csv' csv
iam_role 'arn:aws:iam::xxxxxxxxxx:role/xxxxxxxx'
region 'ap-northeast-1'
ENCODING 'cp932'
IGNOREHEADER 1;

(エラー内容)
ERROR: syntax error at or near "'cp932'" Position: 156 [ErrorId: xxxxx]

cp932のところを'shift-jis'に代えても同様なエラーです。

また、ENCODING行を省くと
ERROR:String contains invalid or unsupported UTF8 codepoints. Bad UTF8 hex sequence: 87 (error 3) [ErrorId:XX]
が表示されます。

上流の処理でUTF8形式に変換してcopy文を流せばよいのですが、
構文通りにパラメーターにENCODING指定してもエラーになる理由が不明のためteratailにアップさせていただきました。

コメントを投稿

0 コメント