ZeppelinでAWS BillingのCSVを分析する

AWS, Zeppelin

AWS BillingのCSVはそのままでは見にくいのでDBなどに投入する必要があると思いますが、Zeppelinを使用すれば一時テーブルを使用して簡単にSQLで分析を行うことができます。

GUIからSQLを書くだけでグラフの描画まで簡単にできますのでちょっとした分析をしたいときに便利です。

CSVを一時テーブルに読み込む

Zeppelin上ではR言語やPythonでも書けるのですがデフォルトのでScalaで書いてみました。

Scalaは不慣れなので見にくくてすみません。。
力技ですが以下のようなコードでCSVを読み込むことができます。
(CSVファイルはあらかじめ /data/xxxxxxxxxx-aws-billing-csv-2017-10.csv に配置しておきます)

一時テーブルに対してSQLを実行する

取り込んだデータはテーブルとして扱えるのでSQLを実行できます。

UsageType で集計した結果です。
結果は表形式だけでなく簡単なグラフを自動で生成してくれます。

まとめ

分析したいCSVのレコードに合わせてクラスを定義することで他のフォーマットに対しても
同様のことができますのでCSVを分析したいときに使ってみてはいかがでしょうか。

AWS, Zeppelin