Piで作ったIoTデバイスから送信されたデータをS3などに保存することができました。IoTで受信したメッセージをDynamoDBとS3に保存このデータをAWSのAthenaを使って分析してみようと思います。(DynamoDBにも格納しているので、そこで見た方が早そうですが、ネタとしてはAthenaの方が面白いので・・・。)Athenaを使うとS3に格納しているJSONやCSVなどのデータを対象に、生データのままの状態でSQLを実行することができます。処理時間が少しかかるので常用には向かないかもしれませんが、アドホックで分析して、定期的なチェックが必要な項目などが分かったら、あとはRedshiftやRDSなどに構造化データとして加工して格納して使うというのが一般的かと思います。Athenaでテーブルを作ります。S3の生データでそのままSQLが実行できるといっても、スキーマ定義は必要です。スキーマを作ったからといって、S3のデータを別のストレージにコンバートして移すといったことをするわけではないので、アドホックな分析に向いているといえます。tableをクリックして現れるサブメニューから、今回はManualを選択します。データベース名、テーブル名と、生データの格納先のS3バケットの指定です。バケット内のフォルダまで指定でき、そのフォルダが年月日などで階層構造になっている場合は、自動的に階層構造の下まで見に行ってくれます。ファイルフォーマットの指定です。今回はJSONを指定します。項目名と型を指定します。JSONのキーをそのまま項目名として指定します。型の指定はtimestamp型がちょっと難しくて、今回のJSONデータでのISO8601形式には対応していません。そのため、一旦、string型として認識させます。任意でパーティションの指定ができますが、今回はそのまま。テーブルが出来た後で、プレビューしてみます。先ほど、timestamp項目をstring型として認識させたのですが、きちんと日時として処理するためにはどうすれば良いでしょうか。from_iso8601_timestamp関数を使用すると、日時型に変換して処理されるようになり、タイムゾーンを変換しての表示や、条件指定(ここでは並べ替え)も可能になります。10;きちんと、日本時間で表示され、並べ替えも有効になっています。昨日からの最高・最低気温(室温)を見る昨日の14時くらいからデータを取り始めて、気温(室温)の最高・最低を見てみました。最高室温は昨日の19時14分の27.1度。別の部屋にいたのでエアコンを切っているからですかね。最低は昨日の14時46分の24.9度。エアコンを使っているので冷えています。エアコンの設定温度は27度だったと思うのですが、センサーで取った値はもう少し低く出ているようです。いうことで、一通りの分析ができました。ITコーディネータ/ITエンジニア。ビジネスコンテスト「北九州でIoT」に応募したアイディアが入選し、メンバーと株式会社ビビンコを創業。著書に「初めてのWatson」、「ワトソンで体感する人工知能」など。日本全国でAI・IoTなどをテーマにしたセミナーや研修講師での登壇多数。Recognitionのライトプランではカスタムモデ...ほとんど出落ちというか、タイトルがこの記事で言いたいことのすべてなのですが・・・。Assistantのチャットボットを設置しました。研一2018/11/22この投稿へのコメントコメントはありません。研一のウェブサイトです。プロフィール(詳細)AI・IoTなどの講演、執筆などのお問い合わせは、首都圏(東京・横浜)、九州(福岡)を中心に日本全国から承っております。こちらのお問い合わせフォームからご連絡ください。(1)IoT・AI・RPAソリューションは株式会社ビビンコ(北九州・東京)にご相談ください。