(35連休)7日目:Raspberry Pi,fluentd,TreasureData,AWS,d3.jsを使った自宅の温度・湿度データモニタリングと可視化②
風邪がこじれて寝込んでしまってました。平日連続更新できなかった・・・。
今回は、前回http://hsuetsugu.hatenablog.com/entry/2014/08/18/095610の続きで、センシングしたデータを可視化していきます。なんか無駄な手順な気もしますが、AWSのS3にTreasureDataのデータをtable dumpしたうえでRDSに格納し、WEB画面を構築していきます。
前回実施したこと
Raspberry Piにfluentdをインストールして、Raspberry Piに接続した温度・湿度計測センサーからの取得データをTreasureDataに格納するところまで実施しました。
Amazon Linuxにtd-agentをインストール
RaspberryPiもしくはMACにtd-agentをインストールできればよかったのですが、それはできなそうで、fluentdをいれています。データの出力だとか各種APIを提供してくれているのはtd-agentっぽかったので、AWSのLinuxにインストールします。
SSHでログインして、下記コマンドでtd-agentをインストールします。
$ sudo yum update -y $ sudo yum install rubygems ruby-devel gcc make -y $ sudo gem install td iconv json
接続確認
- テーブル一覧の取得
$ td table:list
- 前回使った温度湿度計測データの表示
$ td query -w -d pidb "select * from usbrh limit 10"
※pidbのusbrhというテーブルに、RaspberryPiからセンサーデータを保存するようにしています。
TreasureDataのデータをS3に格納
参考URL:Bulk Export | Treasure Data
- AWSでS3のバケットを作成
最初は東京リージョンで作ったのですが下記のステップでエラーになりました。もう一度US standardリージョンで作り直したらうまくエクスポートされました。
- TreasureDataのデータをS3に格納
$ td table:export example_db table1 --s3-bucket mybucket -k KEY_ID -s SECRET_KEY
こんな感じでjsonが格納されます。
・・・でもRDSはjsonのインポートをサポートしていないようです。Redshiftならjsonに対してcopyコマンド使えるみたいですが、AWS Free Usage Tier(無料利用枠)でやっているのでRedshiftは使えません。さてどうしよう・・・。今日はここまでにします。。