2012年10月12日金曜日

東日本大震災ビッグデータワークショップの作業を再開!

諸事情により作業が停滞していた「東日本大震災ビッグデータワークショップ」向けの作業を今日から再開です。
作業停滞前は、位置情報ツイートに市町村コードを付加するところまでやりました。
作業を始めて、まだまだ序の口なので、今しばらく各データ解析しやすいようにデータベース化する作業を進めています。

本日の作業1:
Twitterのデータ(今度は位置情報が付いていないもの)をデータベースに格納しています。
データ総量が20GBを超えるデータなので、登録時間が半端ない。こんなサイズのデータベースを生成するのは、人生初です。何事も初めてはワクワクします♪
こんなに時間がかかるものを待っていてもしょうがないので、こちらの作業はPCさんにお任せすることにしちゃいます。

本日の作業2:
次は、株式会社ゼンリンデータコム様の混雑統計データをデータベースに登録します。
データを見ると緯度経度が変わった形式で格納されていますが、これは、度分秒ではなく、緯度経度(ミリ秒)でした。割り算で、度分秒(10進)へ変換後、PostGISへ投入開始!
そして、また待ち発生。。。ビッグなデータは、何事も時間がかかります。

これ以上続けると、データの処理順が訳わかんない事態となりそうなので、今日はデータ投入に専念することにしよう。



2012年9月30日日曜日

行政コードを付けたTweetデータを公開しました。

JasperServer…よくわかりません。ちょっと時間がかかりそうなので、後回しにして、行政コード付きTweetデータをShinsaidataグループに公開しました。
大勢の方に使っていただけるとありがたいですね。
今週一週間は、仕事が立て込んだりそうなので、本格的な作業は、次週までお預けになりそうです。

2012年9月29日土曜日

いよいよ実データの投入開始

行政界データの登録も終わり、いよいよビッグデータの登録に移りました。
テキスト処理系のコマンドは一切使えない私…、データベースへの登録はプログラムに頼る
事になります。最初に投入するデータはTwitterの情報に位置情報を付加したもの。shinsaidataグループの方が作成されたデータです。
使い慣れたVisual Studioを使ってさくさくとツールを書上げ、そしてデータベースへ登録完了。

Twitterの情報には、行政コードを独自付加したので、自治体単位でツイートが検索できるはず。
早速、富山県のコード(16)を指定して実行してみた。

 ERROR:  符号化方式"UTF8"文字0xe280bc<は"SJIS"と同じではありません

はうっ!?・・・と思ったが、これはpsqlコマンドだけの問題らしく。pgAdminとかで見ると問題なし。良かった。

しばらく、色々と都道府県別に抽出して、ツイートを眺める。。。驚いているツイートから難民状態のツイート、探し人・・・久々に涙腺が緩む。

気を取り直して、このデータでグループにフィードバックしてみようと思い、CSV形式で出力してみることにした。緯度経度をGeometoryに入れてしまっている。あれ!?緯度経度って…取れないのか?
AsTextだと「POINT(経度 緯度)」と出てきてしまう。オリジナルの緯度経度をもっとくべきだったか!?悩んでもしようがないので、再登録を実施。
とりあえず、試験用のデータベースは完了!CSVへのはき出しも問題なし。

次回は、いよいよBIツールJasperServerを使ってレポートを作ってみる…はず。

行政界のデータベース構築

位置情報から該当する都道府県を取得するためには、行政界データが必要。
探してみると「国土数値情報ダウンロードサービス」にてダウンロード出来ました。
http://nlftp.mlit.go.jp/ksj/index.html
とりあえず、全国的にダウンロードしました。
行政界の内外判定については、当然ながらPostGISにお任せしますので、行政界データをデータベースに格納します。手順としては、概ね以下の通りとなります。

1.PostGISのshp2pgsqlコマンドを使ってデータベースへ行政界を登録するスクリプトを作ります。
2.SQL文を実行します。

はい、簡単です。簡単なはずですが…。少しはまりながら結構な時間を浪費しました。
一発で上手く行くと思ったのですが、座標系を指定し忘れたり、テーブル名を指定し忘れたり…。
最終的には、バッチファイルを組んでやりました。最初から自動化しておくべきでしたね。
なんせ、47都道府県分の繰り返し作業ですからね。猛反省しています。。。

PostGISのインストールには、以下のサイトに大変お世話になりました。
感謝でございます。
http://lets.postgresql.jp/documents/tutorial/PostGIS/1/

このあとは、引き続きTwitterのデータを登録してみます。

2012年9月26日水曜日

ビッグデータ!?

「ビッグデータ」…近頃流行の言葉ですね。私もたまに言葉は使っています。しかし、「ビッグデータ」そのものを取り扱ったことがないです。
今回、初めて触る訳ですが、何から始めて良いのかも解らないです。
なんとなく調べてみて、この際だから、BI系のソフトウェアを使ってみることにした。
ちょっと調べてみて、Jasper Serverとかいうオープンソースソフトウェアにしました。無料ですからね。
そして、データベースベース、twitterのデータだけで30GBもあるというのですが、正直30GBが「なんぼのものか」皆目見当がつきません。そうは言っても、普段使っているMSSQL ServerやOracleの無料版では扱えないのは明白。こちらは、地理情報を格納することも考えて、PostgreSQLを使ってみます。
早速、以下の手順でインストールしてみました。

1.PostgreSQLとPostGISをインストール
  最新のPostgreSQL 9.2だと、何故かPostGISが入らなかったので、PostgreSQL9.1.6を
  インストールしました。
  Application Stack BuilderでPostGISがインストール出来なかったので、こちらは
  直接インストーラをダウンロードして、インストールしました。
2.Jasper Serverをインストール
  こちらはもちろんCommunity版を使用しました。
  Versionは4.7です。
  インストール中にPostgreSQLをインストールするか聞いてくるので、こちらは、
  インストール済みのPostgreSQLを使うように設定。
  同じく、Tomcatをインストールしてくるかを聞いてきたので、こちらはBundle版をインストール
  しました。

とりあえずは、上記作業は完了。あっさりと、Jasper Serverは動きました。
今後の予定をざっくりと考えると。。。

  1. 入手できるデータをとりあえず、PostgreSQLに入れてみる
  2. 地理情報的に分析するため、行政界情報を入れてみる
あたりでデータ整備は終了として、あとは…Jasperの使い方をマスターするしかないな…。
とりあえず、明日からやわやわとデータ整備をやってみます。

ブログ開設(!?)

ブログ開設というか、しばらくは、東日本大震災ビッグデータワークショップ向けに何かしたことを記録していく予定です。利用したデータについては、こちらでは公開せず、やったことのみを記載することになります。