generated at
Amazon Athena
Amazon Athena は、S3上にあるファイルに対してSQLを実行して、一覧を取得したり集計したりできるサービス
ファイル形式は .csv , .tsv , .json , 各種ログ出力形式, 等々..
とは言え、任意のcsvやjsonを扱えるわけではない
ファイルは .gz 等で圧縮されていても扱える


Athena メモ
JSON形式ファイルを扱えるといっても、正しい .json は扱えない
1行1レコード、改行区切り(末尾カンマNG)
NG1:
json
{ 'id': 123, 'name': 'foo' }
NG2:
json
[ {'id': 123, 'name': 'foo'}, {'id': 124, 'name': 'bar'} ]
NG3:
json
[{'id': 123, 'name': 'foo'}, {'id': 124, 'name': 'bar'}]
OK
json
{'id': 123, 'name': 'foo'} {'id': 124, 'name': 'bar'}

S3パスを書くとき、ファイル名の途中まででマッチングはしない
実際のファイルパス /prefix_yyyymmdd.json
NG: LOCATION 's3://bucketname/preefix_'
NG: LOCATION 's3://bucketname/preefix_*'
OK: LOCATION 's3://bucketname/' ただし全ファイルを見ようとする
実際のファイルパス /prefix/prefix_yyyymmdd.json
OK: LOCATION 's3://bucketname/prefix/'
このため、データの種類ごとにkey(ディレクトリ)分けて置いた方がよさそう