Amazon QuickSight チュートリアル実践:Amazon S3データを使って分析を作成

Amazon QuickSight アイキャッチ

Amazon QuickSightのドキュメントには『チュートリアル』という形でデータセットや分析を作成する手順が豊富に用意されています。サービスの内容、機能の概要を把握するのであればまずは触ってみるのが一番!という事でこの部分についてもガンガン進めていきたいと思います。3つめのチュートリアルはAmazon S3ファイルを使った内容となります。

可視化に用いるデータを準備

ここでのデータは、複数ファイルを一括で取り込む為の環境として以下の『住所データ』を用いる事とします。

まずは上記サイトにアクセスし、地方版のデータをそれぞれダウンロード。QuickSightでは圧縮形式はgzip形式のみ許可されているので、ここでは一旦ファイルを解凍し、CSV形式のファイルとして扱う事とします。

また、このファイルはダウンロードした状態の文字コードがShift_JISでした。なのでnkfを使って予めファイルエンコードをutf8にしておきます。

$ nkf -Lw chubu.csv > chubu-utf8.csv 
$ nkf -Lw chugoku.csv > chugoku-utf8.csv 
$ nkf -Lw kanto.csv > kanto-utf8.csv 
$ nkf -Lw kinki.csv > kinki-utf8.csv 
$ nkf -Lw kyushu.csv > kyushu-utf8.csv 
$ nkf -Lw tohoku.csv > tohoku-utf8.csv 
$ ll *-utf8.csv
-rw-r--r--  1 xxxxxxxxx  staff  4971485 11 20 18:25 chubu-utf8.csv
-rw-r--r--  1 xxxxxxxxx  staff  3005181 11 20 18:26 chugoku-utf8.csv
-rw-r--r--  1 xxxxxxxxx  staff  6836152 11 20 18:26 kanto-utf8.csv
-rw-r--r--  1 xxxxxxxxx  staff  4257356 11 20 18:26 kinki-utf8.csv
-rw-r--r--  1 xxxxxxxxx  staff  2756351 11 20 18:27 kyushu-utf8.csv
-rw-r--r--  1 xxxxxxxxx  staff  4943841 11 20 18:27 tohoku-utf8.csv
$

ファイルの中身を確認してみましょう。以下の様に日本語カラムでのヘッダー、ダブルクォートを囲み文字としたカンマ区切りファイル(CSV)となっています。

"住所CD","都道府県CD","市区町村CD","町域CD","郵便番号","事業所フラグ","廃止フラグ","都道府県","都道府県カナ","市区町村","市区町村カナ","町域","町域カナ","町域補足","京都通>り名","字丁目","字丁目カナ","補足","事業所名","事業所名カナ","事業所住所","新住所CD"
310000000,8,8201,82010000,"310-0000",0,0,"茨城県","イバラキケン","水戸市","ミトシ",," ","(該当なし)",,,,,,,,
310000400,8,8201,82010001,"310-0004",0,0,"茨城県","イバラキケン","水戸市","ミトシ","青柳町","アオヤギチョウ",,,,,,,,,
319031400,8,8201,82010002,"319-0314",0,0,"茨城県","イバラキケン","水戸市","ミトシ","赤尾関町","アカオセキチョウ",,,,,,,,,
:
:

ファイルを以下の様な形で、任意のS3バケット・フォルダ配下にアップロードしておきます。

quicksight-tutorial-s3_101

Amazon S3データからAmazon QuickSightデータセットを作成

1.インポートするS3ファイルを識別するためのマニフェストファイルを作成。マニフェストファイルにはAmazon S3マニフェストファイルでサポートされている指定のフォーマットを用います。Amazon QuickSightにおけるマニフェストファイルの作成方法・仕様については詳細を後述しますが、ここでは以下の形でファイルを作成しました。

{ 
    "fileLocations": [                                                    
          {"URIPrefixes": 
              [
              "https://s3.amazonaws.com/cm-quicksight-s3demo-virginia/chubu-utf8.csv",
              "https://s3.amazonaws.com/cm-quicksight-s3demo-virginia/chugoku-utf8.csv",
              "https://s3.amazonaws.com/cm-quicksight-s3demo-virginia/kanto-utf8.csv",
              "https://s3.amazonaws.com/cm-quicksight-s3demo-virginia/kinki-utf8.csv",
              "https://s3.amazonaws.com/cm-quicksight-s3demo-virginia/kyushu-utf8.csv",
              "https://s3.amazonaws.com/cm-quicksight-s3demo-virginia/tohoku-utf8.csv"
              ]
          }
     ],
     "globalUploadSettings": {
       "format": "CSV",
       "textqualifier": "\"",
       "delimiter": ","
   }
}

2.データソースの制限をチェックして、対象となるデータがデータソースの制限を超えない様にします。詳細については以下をご参照ください。

3.マニフェストファイルをローカルディレクトリに保存するか、Amazon S3にアップロードします。ここでは手元に作成したjsonファイルをQuickSightのメニュー経由でアップロードする事にします。

4.Amazon QuickSightのスタートページにて、[Manage data]を選択。

5.[Your Data Sets]ページにて、[New Data Set]を選択。

6.[Create a Data set]ページの[FROM NEW DATA SOURCES]セクションにて、[Amazon S3]のアイコンを選択。

quicksight-tutorial-s3_110

7.データソース名に任意のデータソース名を入力。そして先程用意したJSONファイルをこのウインドウからファイル参照してアップロードします。そして[Connect]押下。

quicksight-tutorial-s3_103

上記手順ではファイルをアップロードしましたが、URL直指定の場合は定められた形式のURLを貼り付ける形で行けます。対象となるURLは、管理コンソールS3の対象ファイルの『プロパティ』で確認する事が出来るURLとなります。

  • quicksight-s3-04

8.設定が問題無く進むと、以下の様に取り込みの結果が表示されます。どのような形で取り込めたのか、内容を確認するために[Edit/Preview Data]を選択してデータ準備画面に進みます。。

quicksight-tutorial-s3_104

9.データ自体は取り込めていますが、ヘッダ部分が全て『Column...』となってしまっています。どうやらヘッダ行が読み込まれていない様です。

quicksight-tutorial-s3_105

10.QuickSightではヘッダ行の読み込みにも対応しています。画面の右上にある上向きピラミッド型(?)の記号をクリックすると、

quicksight-tutorial-s3_106

11.ヘッダ行及びファイルに関する編集メニューが表示されます。その中の『Files includes headers』のチェックボックスを選択し、アップロード設定を変更します。

quicksight-tutorial-s3_107

12.再取込完了。今度はちゃんとヘッダ部分が読み込まれ、日本語ヘッダも表示されました!『Save&Visualize』を選択して可視化へと進みます。

quicksight-tutorial-s3_108

S3データの可視化

ここまでくればあとは通常のデータセットと同様にビジュアルを作成する事が出来ます。

quicksight-tutorial-s3_109

まとめ

という訳でS3データを使ったQuickSightのデータセット作成及び可視化作業の実践に関するチュートリアルのご紹介でした。Amazon S3データを取り込む際に指定するJSONファイルのフォーマットや指定内容についてはこの他にも幾つかのバリエーションが存在します。また、『データソースの制限』についても扱うデータ毎にその条件が定められているので、所定のデータソースを扱う際には目を通しておくべきポイントとなるでしょう。今後のエントリでその辺りの詳細についても見て行きたいと思います。こちらからは以上です。