目次

目次

ZeppelinでAWS Billing のCSVを分析する(CUR版)

松木佑徒
松木佑徒
最終更新日2017/11/27 投稿日2017/11/27

以前の記事の続きで今回はAWS BillingのCUR(Cost and Usage Report)の方で試してみました。 前回と同様 /data フォルダ配下にCSVを配置した状態でZeppelinを立ち上げます。

前回調査不足でちょっと面倒な方法でCSVを読み込んでいたのですが、 Spark2.0からはCSVを読み込む機能が標準で用意されているらしく 以下のようにすることで簡単に読み込むことができるようです。 (loadの引数に読み込みたいCSVファイルを指定します)

%spark
val df = spark.read
    .format("com.databricks.spark.csv")
    .option("header", "true")
    .option("inferSchema", "true")
    .load("/data/aws-billing-cur-1.csv")
df.registerTempTable("billing_cur")

SQLを使う際に1点注意なのがCSVのヘッダーが lineItem/ProductCode のように / を含むのでカラム名を ` で囲ってあげる必要があります。

%sql
select `lineItem/ProductCode`, sum(`lineItem/UnblendedCost`) as cost
from billing_cur
group by `lineItem/ProductCode`
Zeppelin 実行イメージ

松木佑徒

目次