2016AWS特集AthenaQuickSight2016年12月23日せーの(269)37この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、大雪で飛行機が欠航になって自宅でブログを書いているせーのです。今日は出たばかりの新サービス「QuickSight」の新機能のご紹介です。QuickSightとAthenaQuickSightは様々なデータを簡単な操作でグラフとして表示できるBIツールです。このブログを見ている方はちょうどQuickSightのアドベントカレンダーをやっていたのでよく目にしているサービスかと思います。QuickSightを使うとこんなグラフが書けます。カラフルでいい感じですね。AthenaはS3に入っているデータを標準SQLを使って分析することができるサービスです。Athenaにテーブルを作り、S3のバケットを指定してSQLを流すと欲しいデータが引っかかります。S3にとにかく何も考えずにデータを投げ込んでおいて、後でAthenaを使って必要なデータだけを拾い上げていく、という方法が取れるわけです。これはApacheのログをS3に溜めてAthenaで取り出している様子です。見た目はほぼDBのクライアントツールと変わらない感じですね。データソースがS3とはとても思えません。今回はこの2つの新サービスを組み合わせた機能のご紹介です。Athenaで吸い上げたデータをデータソースとしてQuickSightで表示する、というものです。ペンとアッポーがオーン!となる感じですね。ユースケースAWSのブログではこの機能のユースケースとしてIoTでの利用が提示されています。Firehoseを使用してS3に流し込み、それをAthenaで分析して、必要なデータをQuickSightで可視化する、という流れです。IoTのデータを可視化する時にどのデータストアを使うのか、という点は確かに悩みどころです。Redshiftは強力なのですがある程度の規模感が求められます。S3に入れておけば堅牢性もありコストも安いので安心ですね。Firehoseの利点は「設定が簡単」ということと「Kinesisならではの安心感」という所にあります。IoTのRuleから直接S3にデータを流すことも出来るのですがKinesisをはさむことでどこかに障害が起こった時のリトライや急激にデータ量が増えた時の流量の調節等、手動だと非常に手間のかかる実装が必要な部分を全て請け負ってくれます。IoTのようなセンサーデータを扱う際にKinesisの果たす役割は大きいです。それではチュートリアルをやってみましょう。今回は心拍センサーのデータをダミーのスクリプトから流してみます。やってみたそれではやってみましょう。Firehose、QuickSightは東京リージョンではまだ使えませんのでバージニアリージョンを使います。Firehose、S3の設定まずはFirehoseの設定です。S3バケットを新規に作成し、Delivery名を決めて作成します。今回はチュートリアルどおりに「IoT-to-BI-Example」とします。IoTのRulesを作成します。これもチュートリアル通り「/health/#」にデータが飛んできたらFirehoseに流すように設定します。サンプルデータの作成つぎはクライアントでサンプルデータを作って流します。Configureをバージニアリージョン(us-east-1)にしておきます。:次にスクリプトをダウンロードしてローカルから叩きます。12:05:55"}......データが[/health/heartrate]に流れていきます。S3を見てみましょう。データが着々と入っているようです。このまま数時間放置します。Athenaの設定データを放置している間にAthenaの設定を行います。Athenaのコンソール画面を開きます。サンプルが見えてますね。データベースをdefaultにして先程のS3バケットからテーブルを作ります。's3://iot-to-bi-example/Iot_to_bi_example/'どれくらいデータが溜まっているかユーザID毎のレコード数を見てみます。useridもう少し欲しいですね。最後にこれらをQuickSightで可視化します。QuickSightを開きます。DataSet]で新しいデータセットを指定します。source名として[AthenaDataSource]を指定します。ここで「権限がないよ」と怒られている人はQuickSightに対してAthenaと上で作ったS3バケットに対するアクセス権限がない人です。QuickSight]を選択してAthenaとS3の権限を追加します。source名を指定するとAthenaのテーブルが出てきますので先程作った[heartrate_iot_data]というテーブルを指定します。後はウィザードのまま進んでいけばViewの画面にたどり着きます。Viewまで来たら後は自分のみたい切り口でデータ項目をドラッグ&ドロップしてみて下さい。どんなグラフが書けるかは今年のQuickSightのアドベントカレンダーを参考にしてみて下さい。ユーザー毎のレコード数です。次にユーザー毎の心拍数のタイプです。Filterで心拍数をHIGHの人だけにするにはこんな感じですね。時間軸でのユーザー毎の心拍数平均値です。こんな感じでどんどんグラフを作っていきましょう。まとめいかがでしたでしょうか。これでS3をデータレイクとして活用しつつ、必要なデータを可視化することができました。2,696,850せーのと申します。北海道にて犬2匹とともにのんびりコードを書いたりしています。最近は触れるデバイスをネットにつなげて遊ぶのにはまっています。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。本が出ていたので読んでみたところよかったので紹介させていただきます。使いたいときの注意点を書きました。新井成一64最近Sphinxつかってドキュメントを書いてるのですがなかなかイケています。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。