QuickSightで始めるデータ分析入門hongsAWS2017.12.11ツイートTopicsS3データ確認Athena設定QuickSight設定iPhoneでQuickSightを使おうまとめこんにちは。データサイエンスチームのhongsです。Calendarの11日目の記事です。S3のデータをAthenaとQuickSightを活用して分析する方法について紹介したいと思います。AWS上のシステム構成及びデータの流れは下記の図のようになります。今回、紹介するAthenaはS3のデータに対して標準SQLで分析が出来るサービスです。Athenaはサーバーレスなのでサーバーの構築や管理が不要です。metadata管理も不要かと疑問に思うかもしれませんが、それもAthenaがやってくれます。Athenaの詳細についてはAthena公式ページをご参照ください。QuickSightはAWSが提供しているBIサービスです。データの可視化はもちろんアドホックな分析などで活用できます。QuickSightの詳細についてはQuickSight公式ページをご参照ください。S3データ確認、Athena設定、QuickSight設定の順で見て行きましょう。今回の例で使うのは日本のある市役所職員の3年間(2013~2015)のオープン給与データ(csvファイル形式)です。元データから一部不要なデータを除外した形でS3に保存しています。バケット名advent-techblogファイル名emp_salary/dt=2013/h25_salary.csvemp_salary/dt=2014/h26_salary.csvemp_salary/dt=2015/h27_salary.csvBrowserで確認すると下記のように見えます。各folderの中にはcsvファイルが保存されています。csvファイルには職員一人ひとりに対する年間人件費情報が記録されています。ファイルはAthenaのSQLパフォーマンスを考え、年単位でPartition化しています。DataとAthenaパフォーマンスをご参照ください。それでは、このS3のデータをAthenaで扱えるように設定する方法を説明します。Athena設定AWSメニュー画面でAthenaを選択します。regionをバージニア北部に設定します。※後で説明するQuickSightですが、まだ日本regionでは利用出来ないためバージニア北部を使います。QuickSightは違うregionのAthenaは参照出来ないためAthenaもバージニア北部に設定する必要があります。Athenaの初期画面です。TableをクリックしてDBやTableを作成することが出来ます。Formatなどの設定が出来るWizard画面が表示されます。DB及びTableの作成はこのWizardを使う方法と直接にSQLで作成する方法の2パターンがありますがここではSQLを使って作成してみたいと思います。Create文を使ってDBを作成します。(DB名:tech_blog)つづいて、Tableを作成します。(Table名:emp_salary)create文で使うパラメータ詳細についてはこちらをご参照ください。TABLEコマンドでPartition情報をロードする必要があります。Table作成が完了した際のResultsメッセージにも書かれていますが、AthenaとしてはTableを作成しただけではPartitionの情報を認識出来ません。そのため、実際の運用ではPartitionが追加されたら、そのPartition情報をロードする作業が発生します。これでAthenaの設定は完了です。Select文でデータを確認してみましょう。Select文でデータの中身が正常に確認出来ました。簡単な集計クエリを実行してみましょう。この例では日付(年)、職員レベル別の平均残業代を集計し、残業代が高い順に表示してみました。ここまでAthenaの設定、SQLを使いデータ分析が出来ることを確認しました。つづいてQuickSightでデータを可視化してみましょう。QuickSight設定AWSメニュー画面でQuickSightを選択します。Accountを作成する画面が表示されます。editionを選択します。今現在60日間無料で使えます。bucketなどを設定します。Virginia)を選択しています。Bucketsをクリックして設定します。上記の画面でFinishボタンをクリックするとQuickSightのAccount設定が完了します。QuickSightボタンをクリックするとQuickSightのメイン画面が表示されます。analysisボタンをクリックし実際のデータ可視化作業を進めて行きます。ここでAthenaを選択します。Nameを設定します。sourceボタンをクリックします。するとAthenaのDBとTableを選択する画面が表示されます。ここでは先ほどAthenaで作成したDBとTableを選択してSelectボタンをクリックします。最後にSPICEを使用するかどうかの選択画面が表示されます。dataを選択しVisualizeボタンをクリックします。Setの設定が終わり、データの可視化を行う画面が表示されました。可視化の例として、基本給とボーナスの散布図を表示してみましょう。axisに設定します。すると、下記のようなグラフが出来ます。これで基本給とボーナスは比例していること、そして一部の区間では基本給の格差があることが分かります。Chartで管理手当の構成比をレベル別で表示してみましょう。この結果では管理手当はレベル6、7、8の職員が対象でレベル6の場合は全体管理手当の41%を占めていることが分かります。レベル6、7、8の職員が管理職であることが推測できます。ここまでQuickSightの設定と簡単な操作方法について説明しました。iPhoneでQuickSightを使おうQuickSightはiPhone用のAppがありiPhoneでも操作することが出来ます。因みに、Androidの方はまだないようです。StoreでQuickSightで検索してインストールします。Appを起動し、ログインします。username、passwordが必要です。nameを入力します。usernameにはusernameを入力します。addressも入力可能のようですが、私の場合はログイン失敗になりました。ログインするとAnalysisリストが表示されます。ここで先ほど作成したAnalysisを選択します。これでiPhoneでもPCと同じ内容を確認することが出来ます。QuickSightでデータ分析、データの可視化が手軽に出来ます。Hadoopサービスを入れる必要もありません。データ分析がしたくてもデータ分析環境がない、データ分析環境が欲しくても初期費用が高い、サーバー構築に時間がかかるなどで悩んでいた方々どうぞ!今すぐデータ分析を始められます。