新プログラミング言語『Zero』を開発しました! 本サイトの記事数は「589」!!

【AWS】Athena入門!使い方を全く知らない男が一から調査してみた!

             
  • 2020.03.03
  • AWS
【AWS】Athena入門!使い方を全く知らない男が一から調査してみた!
Advertisement

 

Athenaって何や?」って人に捧げる。

 

僕のプロフィールはこちら

 

 

Athenaとは

Athenaとは、S3内のデータを標準SQLで分析できるイケイケどんどんなサービスです。

 

 

Athenaの読み方

アテナ」です。

 

 

Athenaの料金

Athenaは実行されたクエリに対してのみ料金がかかります

1TBに対して5USDかかります。

 

 

Athenaのすごいところ

・大体数秒で結果が出る

・サーバーレスである

 

 

なんでAthenaは数秒で結果が得られるの?

Athenaが数秒で結果を得られるのは、「自動的にスケールして並列処理を行っているから」です。

要は、Athena頭いいね~ってことです。

 

 

なぜAthenaを使うの?

AWSのログはS3に吐かれたりってことが多いと思います。

ただ、ログを一個一個見ていくのはたいへんすぎる、というか人間のやることではない。

ってことなので、Athenaを使って簡単にログを分析しようねってことです。

 

 

ってことで、Athenaを使う準備

今回はS3にcsvファイルを配置、そのcsvファイルを分析するみたいな流れでいきます。

 

csvファイルはこんな感じ

sample.csv」というファイルです。

後々気付きましたが、ヘッダは不要です。

 

 

Athena

バケット「athena-test-2020303」を作成し、先ほどのcsvファイルをアップロードしました。

これで準備は完了。

 

 

Advertisement

 

Athenaを実際に使ってみる

URL:「https://ap-northeast-1.console.aws.amazon.com/athena/home?region=ap-northeast-1#」

まずは上記にアクセスして、Athenaの画面を開きます。

 

 

Athena2

Get Started」をクリックします。

 

 

Athena3

で、まずAthenaではなくGlueにテーブルなどを登録する必要があるので、「AWS Glue Data Catalog」をクリックします。

 

 

Athena4

左メニューの「データベース」をクリックし、「データベースの追加」を押します。

 

 

Athena5

任意の名前を入力し、「作成」をクリックします。

 

 

Athena6

左メニューの「テーブル」をクリックし、「テーブルの追加」から「手動でのテーブルの追加」を押します。

 

 

Athena7

任意のテーブル名を入力し、「次へ」をクリックします。

 

 

Athena8

インクルードパスに先ほど作成したS3のバケット名を入力します。

右にあるフォルダアイコンをクリックすると、候補が表示されるので入力が楽です。

 

 

Athena9

データの形式を選択します。

今回はcsvファイルなのでCSVを選択し、区切り文字はカンマ文字なのでカンマを選択します。

 

 

Athena10

列をペコペコ追加したら「次へ」をクリックします。

 

 

Athena11

確認画面が表示されるので、確認を終えたら「完了」をクリックします。

 

 

Athena12

Athenaの画面に戻り、画面をリフレッシュすると、先ほど左側に表示されていなかったテーブルが表示されます。

つまりは、Glueで登録をしないと表示されないということですね。

 

 

Athena13

次に「セットアップをしろ!!」って書いてるので、「Settings」をクリックしてセットアップをしていきます。

これをしないとクエリの実行ができません。

 

 

Athena14

バケット名を入力し、「Save」ボタンをクリックします。

 

 

Athena15

Run query」ボタンが活性になっているので、試しに「select * from test;」というSQLを投げたら下部に結果が表示されました。

※csvファイルにヘッダ付けたもんだから変な感じになってますが、無事表示されてますね。

 

 

まとめ

これでAthenaの基本中の基本は分かりました。

まあ、あとはどこまで応用するかという話であって、0よりも1っすね。

ではさいなら。

Travelerを知らないの?