概要
https://docs.aws.amazon.com/athena/latest/ug/what-is.html
- Athena SQL か Apache Spark で S3 をがさっと処理するサービス
- Python でも利用できるらしい
- スキャン量課金。1TB = 5USD (以前の BQ のオンデマンドと同じ)
- Amazon EMR は機械学習など幅広いアプリで使えるのに対し、Athena はデータ集計に特化してる感じ
- JOIN するなら Redshift
- クエリの定期実行は Step Function が良さそう
https://docs.aws.amazon.com/athena/latest/ug/using-athena-sql.html
- データソース(カタログ) = DBのグループ
- メタデータ = S3 上のパスと列名と型など
- CREATE TABLE すると AWS Glue データカタログに登録する
- S3 をソースとするテーブルは Glue へのメタデータの登録が必要
- 最近のクエリは 45 日間保持
別アカウントの S3 へアクセスする
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/cross-account-permissions.html
- バケットポリシーで許可すれば大丈夫そう
- 権限がない場合、Glue にテーブル登録する際は不要だけど、クエリすると怒られる
- 対象はアカウント全体(もっと絞れる?)
- Bucket Policy
データソースとのコネクタ
https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html