分析ツールnehan活用例

AmazonS3上のフォルダ内データを全て結合し、可視化する

概要

AmazonS3にデータが蓄積されるシーンが増えてきました。

一方で、そのデータを分析しようとすると、フォルダごとに分かれていたりと苦戦するシーンも多いかと思います。

S3上の散らばったデータを一つにまとめて、可視化までを簡単にやる方法はないのでしょうか

nehanを使ってプログラミング不要、ノーコードで実施します。


データ

ユーザーごとのコンテンツ内アイテム資産の所持データを用意しました。

特筆すべきは、この形式のデータが

s3://nehan-analyze-data/usecase/6_actionlog/2021/02/01/log.csv

s3://nehan-analyze-data/usecase/6_actionlog/2021/02/02/log.csv

s3://nehan-analyze-data/usecase/6_actionlog/2021/02/03/log.csv

・・・

s3://nehan-analyze-data/usecase/6_actionlog/2021/02/10/log.csv

と別フォルダ10日分入っています。


イメージ


STEP1:AmazonS3からデータを抽出

バケット名ファイルキーを記入して読み込めば、10日分全てのデータを自動で縦につなげてデータ化してくれます。

ファイルキーに「usecase/6_actionlog/」と書くことで、フォルダ以下のデータを全て結合して読み込むことが可能です。

また、データ内に観測された日付列等がなく、ただの縦結合だと、どの行がどの日のものかわからなくなります。

これを防ぐため、観測日を抜き出すため、オプション「列にフォルダ名を追加する」をONにしておきます。


STEP2:フォルダ名から観測日を定義

「フォルダ名」の文字列内に日付情報が入っているので、抽出します。

日付の長さは「YYYY/mm/dd」と10文字固定なので、末尾から10文字切り出します。

「文字列の抽出」で末尾から1〜10文字までを切り出せばOK。

「観測日」に日付が入りました。


STEP3:日毎に資産の量を平均

データを集約して可視化したいので、「データ集計」日毎にユーザーの各資産量の平均を算出。


STEP4:可視化

ビジュアライズモードを起動。

観測日ごとに資産量平均の推移を出してみると、数値のスケール(規模)がアイテムごとに大きく異なるため、意味をなさないグラフになってしまいます。

そこで、数値の規模感を揃えるために「数値の正規化」にてわかりやすい偏差値に変換。

強制的に数値の規模感を揃えてしまいます。

全部で5ノードで実現できました。

改めて、折れ線グラフで3アイテムの推移を可視化。

moneyの量が減少していそうな傾向がつかめました。


終わりに

特に、データを落としてきて後はエクセルで〜派の方にとって、ファイルが分かれていることがかなりの難点だと思います。

しかも、毎日データが増えていくとなると。。。

データを貯める側はどんどん進歩しているのですから、扱う側も進歩していかないといけないですね。

コーポレートTOPへ

Contact