この記事は最終更新日から1年以上が経過しています。
以前の記事の続きで今回は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` |
この記事を書いた人
最近書いた記事
- 2021.12.10React NativeでWallet風UIを実装する
- 2018.11.19Elasticsearchで簡単な検索とscoreを調整する方法
- 2018.10.05ECSをEC2からFargateに切り替える際の注意点
- 2018.09.12AKB48グループ映像倉庫のWeb版をリリースしました