はじめに
最近、データ可視化のタスクについて自前で実装するのではなくAWSのBIサービスのQuickSight利用を検討しようということで、
調査した内容について紹介したいと思います。
Quick Sightとは
・AWS提供のBIサービス(公式)
・BIサービスとはビジネスインテリジェンスの略で、主にビジネス用途で様々な情報を統合/分析/可視化の支援サービスの事。例えば、セールスフォースの「Tableau」など。
・ソースデータにAWSサービスのRDSやS3や、外部Saasサービス、CSVやJSONなど利用できる。(他にもたくさん)
・作成した分析結果をアプリケーション上にリンク表示するなどして公開することができる。
今回やろうとした事
・S3上にあるデータ(今回はJsonファイル)をQuickSightで可視化する。
・JSONファイルは毎日更新されるので、合わせてQuickSightデータも自動で更新する。
作業の流れ
公式の図示が分かりやすいと思いますが、
大まかに言うと、以下の4つを行います。
①ソースデータの準備(S3との連携)
②連携したソースデータを元にデータセットの作成(データの準備)
③データセットから分析を作成(データを可視化して分析)
④分析からダッシュボードの作成(分析結果の共有)
S3との連携
S3へのアクセス許可
はじめにS3へのアクセス許可をします。
「Manage Quicksight」→「Security & Permissions」を選択して、アクセス権限を付与対象にS3を選択します。
マニフェストファイルの作成
次に、S3の場合には、QuickSightにインポート対象のS3ファイルを指定するマニフェストファイルが必要となります。
JSONファイルをインポートする場合は、以下の様にインポート対象のデータ(JSONファイル)を指定したマニフェストファイルをS3に配置しておきます。
・fileLocations:インポート対象のデータ場所
・globalUploadSettings:インポート設定
(他データ種類をインポートする場合のマニフェストファイルの書き方についてはこちら)
1 2 3 4 5 6 7 8 9 10 11 12 13 | { "fileLocations": [ { "URIs": [ // インポート対象のデータ "s3://{S3のドメイン}/{ファイル名}.json" ] } ], "globalUploadSettings": { "format": "JSON" } } |
データセットの作成
Datasetメニューから新規追加でS3を選択します。
「Upload a manifest file URL Upload」に先程配置したマニフェストファイルのURLを入力します。S3に配置せずにローカルからアップロードする事も可能です。
自動更新の設定
これでデータセットが作成出来ました。
今回は、S3にあるJSONファイルが毎日更新されるので、このデータセットも毎日更新するようにします。
データセットを開いて、「Refresh」 → 「Add NEW SCHEDULE」 から自動更新スケジュールが設定出来ます。
S3内のJSONファイルを定期的にインポートしてくれます。
データの編集
作成したデータセットでは、データの編集が可能です。
例えば、不要なフィールドを削除したり、フィルターを適用したり、他のデータセットと結合したり事が出来るようです。(詳しくはこちら)
分析の作成
Analysesメニューで、作成したデータセットから新規追加します。
すると以下の様な画面になるので、ここでどのように可視化するか(グラフの種類や表示フィールドの変更)を操作する事が出来ます。
直感的な操作でグラフを作成する事が可能なので色々試してみたくなります。
作成したグラフはPDFとしてダウンロードする事も可能です。
ダッシュボードの作成
上記で作成して分析からダッシュボードを作成する事が可能です。
ダッシュボードを作成すると、同アカウントの他ユーザーと作成したダッシュボードを共有する事が出来ます。
作成したダッシュボード
また、詳細は省きますがWebサイトへの埋込用のリンク発行して、外からダッシュボードにアクセスする事で公開する事も可能なようです。
さいごに
お手軽に自前データのBIを作成出来るので、データ分析する際は選択肢の1つとして検討してみると良いかと思いました。