S3からRedshiftにCSVファイルをロードしています。このCSVファイルは、PageUrlを含む分析データです(たとえば、クエリ文字列内にユーザー検索情報が含まれる場合があります)。
たとえば、14インチのおもちゃのページがある場合、PageUrlには以下が含まれます。
http://www.mywebsite.com/a-14 "-toy/1234.html
Redshiftは、二重引用符で終了することを想定しているため、当然これを処理できません。
私がそれを見る方法は私のオプションです:
オプション2が理想的ですが、見つかりません!
私が十分に頑張っていない場合のその他の提案はありますか?
ありがとう
ダンカン
残念ながら、これを修正する方法はありません。ファイルをAmazon Redshiftにロードする前に、ファイルを前処理する必要があります。
あなたが持っている最も近いオプションはCSV [ QUOTE [AS] 'quote_character' ]
は、代替の引用文字でフィールドをラップします。引用文字の前にスラッシュが付いている場合はESCAPE
です。悲しいかな、どちらもロードする前にファイルを特定の形式にする必要があります。
見る:
それは2017年であり、同じ問題に遭遇しました。嬉しいことに、データに奇妙な "があるcsvファイルをロードするためにredshiftを取得する方法があるようになりました。
コツは、ESCAPEキーワードを使用し、CSVキーワードを使用しないことです。理由はわかりませんが、コピーコマンドでCSVキーワードとESCAPEキーワードを一緒に使用すると、「CSVはESCAPEと互換性がありません」というエラーメッセージが表示されて失敗しました。しかし、ロードされたデータに変更を加えることなく、COPYコマンドからCSVキーワードを削除すると、正常にロードできました。
このドキュメントを参考にして参照することもできます。 http://docs.aws.Amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-escape