「Athenaって何や?」って人に捧げる。
僕のプロフィールはこちら
Athenaとは
Athenaとは、S3内のデータを標準SQLで分析できるイケイケどんどんなサービスです。
Athenaの読み方
「アテナ」です。
Athenaの料金
Athenaは実行されたクエリに対してのみ料金がかかります。
1TBに対して5USDかかります。
Athenaのすごいところ
・大体数秒で結果が出る
・サーバーレスである
なんでAthenaは数秒で結果が得られるの?
Athenaが数秒で結果を得られるのは、「自動的にスケールして並列処理を行っているから」です。
要は、Athena頭いいね~ってことです。
なぜAthenaを使うの?
AWSのログはS3に吐かれたりってことが多いと思います。
ただ、ログを一個一個見ていくのはたいへんすぎる、というか人間のやることではない。
ってことなので、Athenaを使って簡単にログを分析しようねってことです。
ってことで、Athenaを使う準備
今回はS3にcsvファイルを配置、そのcsvファイルを分析するみたいな流れでいきます。
csvファイルはこんな感じ
1 2 3 4 |
id,Password 1,abc 2,def 3,ghi |
「sample.csv」というファイルです。
後々気付きましたが、ヘッダは不要です。
バケット「athena-test-2020303」を作成し、先ほどのcsvファイルをアップロードしました。
これで準備は完了。
Athenaを実際に使ってみる
URL:「https://ap-northeast-1.console.aws.amazon.com/athena/home?region=ap-northeast-1#」
まずは上記にアクセスして、Athenaの画面を開きます。
「Get Started」をクリックします。
で、まずAthenaではなくGlueにテーブルなどを登録する必要があるので、「AWS Glue Data Catalog」をクリックします。
左メニューの「データベース」をクリックし、「データベースの追加」を押します。
任意の名前を入力し、「作成」をクリックします。
左メニューの「テーブル」をクリックし、「テーブルの追加」から「手動でのテーブルの追加」を押します。
任意のテーブル名を入力し、「次へ」をクリックします。
インクルードパスに先ほど作成したS3のバケット名を入力します。
右にあるフォルダアイコンをクリックすると、候補が表示されるので入力が楽です。
データの形式を選択します。
今回はcsvファイルなのでCSVを選択し、区切り文字はカンマ文字なのでカンマを選択します。
列をペコペコ追加したら「次へ」をクリックします。
確認画面が表示されるので、確認を終えたら「完了」をクリックします。
Athenaの画面に戻り、画面をリフレッシュすると、先ほど左側に表示されていなかったテーブルが表示されます。
つまりは、Glueで登録をしないと表示されないということですね。
次に「セットアップをしろ!!」って書いてるので、「Settings」をクリックしてセットアップをしていきます。
これをしないとクエリの実行ができません。
バケット名を入力し、「Save」ボタンをクリックします。
「Run query」ボタンが活性になっているので、試しに「select * from test;」というSQLを投げたら下部に結果が表示されました。
※csvファイルにヘッダ付けたもんだから変な感じになってますが、無事表示されてますね。
まとめ
これでAthenaの基本中の基本は分かりました。
まあ、あとはどこまで応用するかという話であって、0よりも1っすね。
ではさいなら。