Hadoopの挙動が少し怪しいので、Hadoop本も買わずにドキュメントも読まずにやったのが良くなかった気もしてます。
50台に追加リクエストしてみた
現在MapReduceサービスで、普通に使えるのは20台までで、それ以上はアカウントごとに許可をもらわないといけません。そこで申し込みフォームに、「画像処理したいねん。CPUそんな使わんけどネットワークとHTTPのI/Oいっぱい発生するねん。よろしく。」とかくと翌日に中の人から50台まで許可するよーとメールが来ました。
なぜか1ファイル複数回処理されてる。
実行ログをSimpleDBに保存してたのですが、なぜか同一ファイルに対しtimestampが3回とかついてしまいます。これはつまり、5万行くらいのログを分割した結果、重複行があるのか、それとも何らかのエラーが発生したら最初っからやり直しする機能があるのかのどちらかのようです。が、どちらかはわかりません。。。
それでもコストは1350円
50台の分散システムを2時間45分試用した結果、3時間に繰り上げ×50台で15ドル。1350円です。これならカード明細が見つかって万が一突っ込まれても「本かってん」といえます。なんせ請求がアマゾンですから。
ひとまずこの辺で切り上げて
SimpleDB気に入ったので、SimpleDBをもうちょっと勉強しようと思います。あと安いレンタルサーバ3台くらいで分散処理させてもおもろいなと思いました。日本とアメリカとヨーロッパに月額800円くらいの共用サーバを借りて、DBをSimpleDBにして、HTTPクエリはPEAR Cache_Liteとか使えってキャッシュすればなんちゃって動的コンテンツのCDNみたいなこともできるかもですね。
追記:ついったでいろいろおしえてもらったんですが、MapReduceってそもそも重複するものらしいです。重複するけどReduce側でsort→uniqするからいっか、みたいな。