ハドゥープが意味するものは?(後編)

前編 / 中編1 / 中編2 / 後編

Hadoop isn't the sort of thing that you're likely to use every day. At least, not as far as we can tell; the idea that we can split a task apart automatically, and take advantage of thousands of computers, is something that very few people have been able to try so far. This computing paradigm, known as "cloud computing," has drawn increasing attention from academic and corporate circles, because of its potential to substantially increase the execution speed of many operations.

ハドゥープは毎日使ってみようと思うようなものではない。少なくとも、言えることはこんなことだ。それは、タスクを自動的にばらばらに分ける考え方で、そして数千のコンピュータよりも優位にすることができて、ごくわずかの人だけがこれまでやってみることができた何かだ。そのコンピューティング・パラダイムは、「クラウド・コンピューティング」と知られていて、学術的な仲間や企業界から注目をだんだんと集めるようになった。なぜならハドゥープには、たくさんの操作の執行速度をだいだいにおいて加速させる可能性があるからだ。

That's why it was big news several days ago, when Yahoo announced that it had partnered with Computational Research Laboratories, a subsidiary of Indian company Tata Sons, Ltd. The joint venture, known as EKA, will make a huge cluster of Hadoop-equipped computers available to researchers. The announcement implied that the cluster would also be available on a commercial basis.

そういうわけで、数日前の大きなニュースになっていたのである。ヤフーが発表したとき、インドの会社のタタ・サンズの支社である、コンピューテーショナル・リサーチ研究所のパートナーであった。そのジョイント・ヴェンチャはEKAとして知られ、ハドゥープが装備していて、研究員が使える、コンピュータ群が巨大な集まりをつくるだろう。発表では、そのコンピュータ群は商業ベースでも使えることをほのめかしている。

If cost weren't an issue, then what would you do with a MapReduce- or Hadoop-equipped supercomputer? I have come up with a list of several possibilities, but I'm curious to hear other suggestions:

費用が問題にならなかったとしたら、マップリデュースかハドゥープの装備するスーパーコンピュータを使って君は何をしてみるだろう? いくつか思いついた可能性をリストにしてみたけれど、ほかの提案もあったらぜひ聞きたいね。

* Translation of large texts from one language into another; we could break each document into paragraphs, and send each paragraph to a different node for translation.
* Apply a common process to a large number of files. (The New York Times did just this, and described it on their blog, in an impressive combination of Hadoop and Amazon's EC2.)
* Travel planning. Find the optimal price and speed for travel between two points, given many different transportation options. Each node can calculate the time, distance, and expense for a different combination of travel methods.
* Massive compilations. If you need to compile several thousand files, each of which takes several minutes, but isn't connected to other files to be compiled, you can farm the compilation out to various nodes with Hadoop.
* Price calculations. If you have thousands of items in an online product catalog, and if the prices need to change depending on your competitor's prices, you could use Hadoop to reprice your products in parallel.
* Stock history analysis, as well as automatic trading. Instead of looping over a list of stocks, and then looking up the history of each one, create a Hadoop cluster and have each node look a the history of a different stock. Use the "reduce" function to find those stocks that have gone up or down substantially, and use that data to either buy or sell.

  • たくさんのテキストのある言語から他の言語へと翻訳する。ドキュメントをそれぞれパラグラフに分けてみて、それからそれぞれのパラグラフをべつべつの翻訳ノードへ送る。
  • 共通処理をたくさんのファイルに応用させる。(ニューヨークタイムズはこれを行っていて、ブログでも説明している。ハドゥープとアマゾン EC2の衝撃的な組み合わせだ。)
  • 旅行計画。出発地点から目的地までの旅行に最適な費用と速度を探し出して、たくさんのちがった交通手段を組み合わせる。旅行方法の組み合わせが変わったら、時間、距離、費用をそれぞれのノードで計算できようにする。
  • 大規模な編集物。もし数千のファイルを編集する必要があったとしよう。それぞれのファイルに数分かかるが、ほかのファイルと関連づけて編集もしなくてはいけない。ハドゥープでいろいろなノードをつくって、編集の工場で作業することもできるね。
  • 値段の計算。オンラインの商品カタログにたくさんの品目があって、競合相手の価格との関係で、値段を変更しなければいけなかったとしよう。ハドゥープを使って、商品の値段を同時に付けかえることができるかもしれないね。
  • 過去の株価の分析と、それと同時に自動取引をする。株価リストをぐるぐる見てまわるかわりに、それぞれの過去記録に注目して、ハドゥープの集まりをつくって、それからそれぞれのノードでちがった株の過去分をみていく。「リデュース」機能を使って、実質的に上がったり下がったりした株をさがして、そしてそれらのデータを使って売るか買うかする。

What would you use them for?

マップリデュースを、何に使ってみるだろう?


前編 / 中編1 / 中編2 / 後編