(注) IT 初学者による誰のためでもない勉強ログですので有益な情報はほぼありません。
経緯
数ヶ月前からクラウドサービスに触れる機会があり AWS という単語を耳にするようになって、興味あるし、しかも学生のうちなら無償である程度のことはできると聞いていたので、せっかくなら活用していきたい。でも提供してるサービスが多すぎて、色々できるという印象はあるものの実際に自分がそれを運用してるとこをイメージできない。
なのでせっかく用意されてるチュートリアルにしたがって1から AWS のサービスを体験しようと思い実施した。(AWS Athena ではなく Amazon Athena なので AWS のさーびすじゃないのか?細かいところはよくわからない)
Amazon Athena の特徴
- Amazon S3 内のデータを標準 SQL を利用して簡単に分析
- サーバーレスのためインフラの管理は不要
- 課金は実行したクエリに発生
- 分析用データを準備するための複雑な ETL ジョブが不要
- デフォルトで AWS Glue データカタログと統合されてるため様々なサービスでメタデータの統合リポジトリを作成可能
- データソースのクロールとスキーマの検出
- 新規および修正したテーブル定義とパーティション定義のカタログへの入力
- スキーマのバージョニング保持
- Glue のフルマネージド型 ETL 機能を使用することで、データ変換や列思考の形式への変更が実行でき、コストを最適かしてパフォーマンスを向上可能
チュートリアル開始
Create Table Wizard
To query the ELB log files, you need to define a corresponding table in Athena.
とのこと。ELB ログファイルにクエリする(操作要求する)ためのテーブル Wizard を作成。Athena に corresponding table を用意する必要がある、らしい。
A table is a metadata definition that represents your data. Tables are grouped in a database. We’ve created some sample tables for you to query under the default database.
テーブルとはあなたの(用意した)データを表すためのメタデータの定義。これらは一つの DB の中にて保管される。Default DB にサンプルテーブルを用意しておいたよ!とのこと。ありがとう!
sampledb の中に elb_logs が用意してありました。
Name and Location
使用する DB と テーブル、データセットのある場所を指示通り指定。
Data Format
なの通りデータのフォーマットを指定。 Apache Web Logs というのを選択。Regex の方も用意されたものをコピペ。
Columns
データセットのカラムを入力。
You need to define the column names and types that map to the corresponding fields in the ELB log files.
Each file has multiple columns, including Timestamp, ELBName, RequestIP, and RequestPort.
Click here to fill in corresponding column names and types in the form.
here
をクリックして自動的に設定してもらいました。
Partitions
オプションで Partitions (DBないの仕切りみたいな)を追加できる。今回はなし。
Running DDL to Create Table
The above DDL statement for the elb_logs table was generated by your entries in the wizard. When you choose Run Query, the table is created.
To view sample rows of the elb_logs table, choose the corresponding Preview Data icon in the Tables list on the left pane.
これにてめでたくテーブルを作成できた
S3 とか AWS Glue とか使う経験をしとかなきゃ
To be continue...