Archive - 9月 2012

”Hadoop for everyone.”を掲げる「Mortar Data」、Twitter Gardenhose(Twitterの全ツイートの1%)をS3に格納するスクリプトを公開

mortar_data

 

Mortar Dataについては、まだサービスが一般リリースされていないため情報が少なく、紹介する良いタイミングが無かったのですが、今回面白いオープンソーススクリプトをリリースしたので、その紹介を兼ねて書きたいと思います。

上の画像を見てピンと来た方もいると思いますが、Mortar Dataが提供するサービスとは、Hadoop(象)をPython(蛇)で操作できるようにするクラウド環境です。実際にはPythonだけでなく、SQL-likeな記法でMapReduceを書けるPigを使って操作することもできます。

今のところデータはAmazon S3に格納していることが前提となっているようで、そこからMortar Dataの提供する環境上にデータを読み込み、ジョブを実行した結果をS3に書き込むという仕組みになっています。

現在はPigとPythonしか使えませんが、今年5月にボストンで行われたTechStarsで、CEOのK Young氏は「Pythonは始まりに過ぎず、あらゆる言語でHadoopを動かせるようになることが、手の届くところまで来ている。」と言っています、パートナー企業によってこのMortarプラットフォームにBI機能やAnalytics機能が提供される予定もあるということで、今後に期待しています。

TechStarsでの彼のプレゼン動画は以下です。

[vimeo width=”500″ height=”281″]http://vimeo.com/41993563[/vimeo]

 

Twitter Gardenhose(Twitterの全ツイートの1%)をS3に格納するスクリプトを公開

そんなMortar Dataが先日、Twitterの全ツイート(Firehoce)の1%を取得出来るStreaming APIであるGardenhoseのデータを、JSON形式でS3のバケットに流し込むnode.js スクリプトをgithubにて公開しました。

手段としては2通りありますが、サーバーを持っていない場合は後者のHerokuを使う方法をオススメします。

  • ローカルで実行
  • PaaSのHerokuで実行

セットアップ方法についてはREADMEを読んでもらったほうが早いですが、それほど難しくなく、ある程度の知識を持っている方であれば簡単にできると思います。

あとはスクリプト内で、一つのJSONファイルのサイズ設定(初期値は20MB)やツイートのフィルタリングなどができるので、色々と試してみてください。

恐らく一つ不安があるとすれば、従量課金制のS3にこの1%のツイートデータを蓄積していくのにどのくらいの料金がかかるのか、というところではないでしょうか。放っておいたら、いつの間にかものすごい金額になってしまっていたら困りますからね。

Mortar Dataのブログで、全ツイート(Firehose)をS3と最近サービスが開始されたアーカイブストレージサービスのGlacierに格納した場合の料金を試算した記事を書いています。

もちろん今後も加速度的にツイート数が増えていくことが考えられますが、Firehoseの1%であるGardenhoseであれば、企業の場合はほとんど負担にならない金額になるでしょう。あとはどのくらいデータを利用するかで転送量が計算できるでしょう。

 

Hadoopを使うための技術的ハードルは、このようなサービスが次々に登場してきており、確実に下がってきていると言えるのではないでしょうか。