AKB428は荒野を目指す

秋葉原で働くエンジニアなブログ

まさか、TwitterのHadoop解析をファイヤーホース無しで? (3)

makiちゃんを使って実際にTwitter Streaming APIを利用してデータを取得してみる。


AKB428/maki · GitHub

 

 

 

とりあえずCSVにデータを保存するだけなので、sakuraサーバーのメモリ2GのVPSで動作させる。

 

  •  フィルタへのキーワードは240程度(MAX400)
  • JavaのバッファリングでCSVに順次書き出し
  • CSV書き出し以外の処理はしない(ツイッターストリームの取りこぼしをふせぐため)

 

結果、1日で約150MバイトのCSV

CSVMySQLに読み込ませた結果 49万レコード

のデータが取得できた。

 

ファイルは以下にサンプルとして配置

https://objectstore-r1nd1001.cnode.jp/v1/93a6500c0a1e4c68b976e5e46527145c/data/twitter_2014-10-16.sql.gz

https://objectstore-r1nd1001.cnode.jp/v1/93a6500c0a1e4c68b976e5e46527145c/data/20141015_030537.csv

 

ファイルサイズ的にはまだまだ少ないのでStreamから流れてきたデータをプログラムで取りこぼししてる感じではないので、キーワードをMAX指定すれば80万ツイートぐらいは簡単にデイリーで取得できるだろう。

一つのIPで2ツイッターアカウントぐらいのバッチは動かせるので単純に考えて1台のマシンで200万ツイートの収集は可能だと思われる。

後は、プログラムのチューニングを行い極力twitterストリームからデータを保存するまでの流れをミリ秒単位で完結させる必要があるので、メモリ型DBに一時的に保存するなりの工夫がいるだろう。

 

twitter.csvmySQLに読み込ませた結果

f:id:rakuda00:20141016024436p:plain

 

 

 

フィルターへのキーワードは以下

nico 2014年アニメ春夏秋冬すべてのキーワード指定版