読者です 読者をやめる 読者になる 読者になる

hsuetsugu’s diary

ITの技術的なことに関して主に書きます。Rとpythonとd3.jsとAWSとRaspberryPiあたりを不自由なく使いこなせるようになりたいです。

(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っぽかったので、AWSLinuxにインストールします。
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が格納されます。
f:id:hsuetsugu:20140821144008p:plain

・・・でもRDSはjsonのインポートをサポートしていないようです。Redshiftならjsonに対してcopyコマンド使えるみたいですが、AWS Free Usage Tier(無料利用枠)でやっているのでRedshiftは使えません。さてどうしよう・・・。今日はここまでにします。。