AWS Glue DataBrew 年累計の算出方法について

記事タイトルとURLをコピーする

AWS Glue DataBrewを活用し、年累計(月毎の累計)を算出する機会がありましたので、その方法をご紹介します。
AWS Glue DataBrewの概要や使い方については、以下の弊社ブログ記事をご覧ください。
blog.serverworks.co.jp

データセットの準備

まず年累計を計算するために、年月ごとのデータセットを準備します。
今回は、以下のカラムを持つCSVファイル(サンプルデータ)をAmazon S3にアップロードし、AWS Glue DataBrewのデータセットで該当ファイルを指定します。
Year(年)
Month(月)
Product(商品)
Value(売上値)

年累計の算出方法

1. データセットのフィルタリング

データセット作成後、AWS Glue DataBrewのプロジェクトで前述のデータセットを参照するプロジェクトを作成します。
最終的に各月のデータセットをユニオンする必要があるため、データセットを月ごとにフィルタリングしたプロジェクト、レシピを12個作成します。

参考までに、4月のレシピ作成手順は以下の通りです。

1.Monthの左側にある「列フィルター」を押下し、「次以下 : 4※」でフィルタリング ※ 別月のフィルタリング例)1月 : Monthを「次以下 : 1」、12月 : Monthを「次以下 : 12以下」

2.ヘッダーの「グループ」を押下し、フィルタリングされたデータを画像内の列名でグループ化し、Valueを集計

3.グループ化に含めていない列は自動削除されるため、以下設定を適用することでMonthを再度作成(Monthの値をフィルタリングした数値で固定)
・ヘッダーの「条件」> IF を押下
・一致条件 : すべての条件に一致 (AND)
・ソース > 次の値 : Year
・論理条件 : は有効です
・true の場合の値 > カスタム値を入力 : 4(フィルタリングした数値を入力)
・false の場合の値 > カスタム値を入力 : 4(フィルタリングした数値を入力)
・送信先列 : Month

4.レシピを発行し、ジョブを実行する

2. データセットのユニオン

ジョブ実行が完了後、Amazon S3にファイルが出力されるため、そのファイルを参照するデータセットを各月分作成します。
そして、AWS Glue DataBrewのプロジェクトで、ヘッダーの「ユニオン」を押下し、各月のデータセットをユニオンすることにより年累計のデータが完成します。

まとめ

AWS Glue DataBrewを使用し、月ごとのデータを年累計データに変換する方法をご紹介させていただきました。
AWS Glue DataBrewは、GUIベースの直感的な操作により様々なデータ加工ができるので、ぜひ活用してみてください。

参考

AWS Glue DataBrew 公式ドキュメント
aws.amazon.com

Yuki Oda(記事一覧)