○なんの記事?
AWSのクラウドストレージサービス:S3のデータを抽出し、同じくAWSのBIサービス:QuickSightに表示するまでの作業を、自分で手を動かしてやってみました。 Qiita初投稿なので、指摘、コメントなどあればぜひお願いします。○ターゲット
QuickSight/S3のアカウントを作成していて、とりあえず動かしてみたい人。○手順概要
(1)S3へのデータの配置 (2)Data Setの作成 (3)Analysisの作成 (4)Dashboardの作成○手順詳細
(1)S3へのデータの配置 (1-1)S3にBucketを作成します。 ファイルを配置するBucketをS3に作成します。 Bucket名は「s3-athena-20190901」とします。※Bucket名は、グローバルで一意である必要があるので、これを見ている方は別の名前を指定してください。
(1-2)使用するデータを取得します。
使用するデータは、e-Statの日本の人口の国勢調査の結果がCSVでDLできるので、これを使用します。
取得したCSVファイルをテキスト形式で開きます。
区切り文字は「,」、テキストは「"」で囲われていることが分かります。
(1-3)ファイルをS3のBucketに配置します。
(1-2)で取得したファイルを、S3のBucketに配置します。
ファイル指定でも、ドラッグアンドドロップでもOKです。
(2)Data Setの作成
(2-1)S3へのBucketへのアクセス設定
QuickSightのホームのページに移動します。
右上のアカウントボタンから、「Manage QuickSight」を選択します。
「Security & permissions」から「QuickSight access to AWS services」を選択し、QuickSightからAccess可能な他のAWSサービスを指定します。
「Add remove」を押すと、「Enables QuickSight to auto-discover your Amazon S3 buckets」の文言が表示されるので、その横の「Detail」を押します。
下記の画面が出ますので、今回追加したBucketを選択してください。これをしないと、Data Set作成時にConnectionのエラーが発生します。
(2-2)Data Setの種類の指定
QuickSightのホームのページに移動します。
左上の「New Analysis」→「New data set」を順に押下します。
ここで、作成するData Setのデータをどこから取得するか選択します。
今回は、S3を選択します。
(2-3)データソース名とManifestファイルの作成
S3を選択すると、下記の画面が表示され、データソース名の入力とManifestファイルを指定します。
データソース名は、好きな名前を付けて問題ないです。
Manifestファイルは、「S3のデータをどのような形で抽出するか」を定義するファイルです。
ファイル形式はjson形式です。
具体的な例は下記のとおりです。
主な情報は下記のとおりです。
・URIs:配置したs3のファイルのリンクを指定します。
・format:ファイルの拡張子を指定します。今回はCSVです。
・delimiter:CSVファイルの区切り文字を指定します。今回は「,」です。
・textqualifier:テキストを囲む際の記号を指定します。今回は「"」ですが、JSONファイル内でのテキスト指定でも使用しているため、エスケープ文字として「\」を指定します
(2-4)データの登録
データソース名、マニフェストをそれぞれ入力します。
「Connect」を押すと、下記の画面に遷移します。
ここでConnectionエラーが出る場合には、(2-1)の設定ができているか確認します。
左の「Edit/Preview data」を押すと、登録したデータを確認することができます。
※文字化けする場合には、文字コードをUTF-8にしてCSVを保存すれば、直るかと思います。
(3)Analysisの作成
(3-1)Data Setの選択
QuickSightのホームのページに移動します。
左上の「New Analysis」を押下する。
左上に、先ほど作成した「s3datasource」が表示されますので、これを押下します。
下記の画面の左下の「Create analysis」を選択します。
(3-2)人口の推移のグラフの作成
全国の人口の推移のグラフを作成します。
グラフ「Line Chart」を選択します。
X軸に「西暦」、Y軸に「人口(総数)」を指定します。ドラッグアンドドロップで指定できます。
人口が2億5千万くらいになっています。全国合計と各都道府県の人口が合算され、2倍近くになっているためです。全国のみ指定するために、フィルタを追加します。
左側の「Filter」を押下し、「都道府県名」を指定します。
「全国」をチェックして、「Apply」ボタンを押下します。
人口が1億2500万くらいになりました。
(4)Dashboardの作成
右上の「Share」から「Publish Dashboard」を押下します。
ダッシュボード名を指定し、Publish dashboardを指定します。