はじめに
- 以下のようなcsvファイルをAWS Glueで読み込んだところカラム名が読み取れずしばらく悩んでましたが、なんてことはないカンマを含む値が読み取れなかっただけでした
test.csv
Column0,Column1,Column2
hoge,"fu,ge",hage
foo,bar,baz
desc test
select * from test
解決策
- CSV以外のフォーマットを利用する
- JSONなどにすればこの問題は解決できました
- ただしJSONにする際には1行/レコードになるようにしておかないとAthenaで検索するときにハマるようです、ご注意ください
- http://mao-instantlife.hatenablog.com/entry/2017/09/16/AWS_Glue%E3%81%AE%E3%81%8A%E8%A9%A6%E3%81%97%EF%BC%9AJSON%E3%82%92%E6%89%B1%E3%81%86%E6%99%82%E3%81%AB%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A0%85%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A3%E3%81%BD%E3%81%84
test.json
{"Column0":"hoge","Column1":"fu,ge","Column2":"hoge"}
{"Column0":"foo","Column1":"bar","Column2":"baz"}