2009-05-15[n年前へ]
■RubyでHadoopをラップ、分散処理ツールキットが登場
RubyでHadoopをラップ、分散処理ツールキットが登場~New York Timesがログ解析向けで自社開発したものを公表~
米新聞社大手のニューヨーク・タイムズは5月11日、Rubyによる大規模分散処理のツールキット「Map/Reduce Toolkit」(MRToolkit)をGPLv3の下にオープンソースで公開したと発表した。MRToolkitは、すでに稼働しているクラスタ上の Hadoopと合わせて使うことでRubyで容易にMap/Reduce処理を記述することができる一種のラッパー。処理自体はHadoopが行う。すでにHadoopを使っているユーザーであれば、中小規模のプロジェクトに対して、すぐにMRToolkitを適用可能としている。
require 'mrtoolkit' class MainJob < JobBase def job mapper CopyMap reducer UniqueCountReduce indir "logs" outdir "ip" end end
2010-01-27[n年前へ]
■RubyとHadoopで分散処理 Hadoop Streamingの仕組み
「RubyとHadoopで分散処理 Hadoop Streamingの仕組み」
Hadoopとは,Googleの基盤技術であるMapReduceをJavaでオープンソース実装したもので,分散処理のフレームワークです。Hadoopを使うと,1台のサーバでは時間の掛かるような処理を,複数のサーバで分散処理させることができます。
さて,実際にHadoopを使うには2つの方法があります。1つは,もともとHadoopはJavaで作られたものなのでJavaで記述する方法,もう1つはHadoop Streamingという仕組みを使って,Java以外の(標準入出力に対応している)言語で記述する方法です。
今回はRubyを使いたかったため,Hadoop Streamingを利用しました。
2010-04-19[n年前へ]
■「たまに行う大量なバッチ処理」にはAmazon EC2のクラウドサービスを使う
「クックパッドのデータ処理、たった5万円 時間も200分の1以下に短縮、わざわざ米国のサーバを使う理由」
検索ログの解析で問題となるのは処理に要する時間である。なにしろ、クックパッドは毎月900万人近いユーザーが利用するサービスだ。「たべみる」のサービスが対象とするのは、1年分の検索ログであり、そのデータ量は膨大になる。
同社では、社内のデータベースサーバを利用して、この処理を実施した場合、7000時間はかかると見積もった。しかし、米AmazonのIaaS型のクラウドサービスであるEC2を活用し、50台のインスタンス(仮想マシン)を同時に立ち上げ、分散処理のフレームワークである「Hadoop」を利用したところ、わずか30時間で完了した。
この際、同社が利用したAmazon EC2のインスタンス・タイプは、スタンダードプランの「ラージ・インスタンス」。1時間あたりの利用料金は、0.34ドルだ。Amazon EC2では、メモリサイズやCPUのコア数に応じて、8種類のインスタンス・タイプを用意しており、その中で2番目に安い。従って、同社がこの膨大なログの解析処理に要したコストは、0.34ドル×30(時間)×50(台)=510ドル(約4万8000円)となる。
■Powered
by yagm.net