2009-06-07 6 views

答えて

30

Hadoopでの回答に追加するには:少なくとも2つのScalaラッパーがあり、Hadoopをより使いやすくすることができます。 Scalaの地図を削減

(SMR):http://scala-blogs.org/2008/09/scalable-language-and-scalable.html

SHadoop:http://jonhnny-weslley.blogspot.com/2008/05/shadoop.html

UPD 10月5日11

また、Scoobiフレームワークもあり、素晴らしい表現力があります。

+0

SHadoopはかなり古いです - 古いMRフレームワークを使用しています。私はいくつかの点で暗黙を更新しました:https://github.com/schmmd/Hadoop-Scala-Commons – schmmd

+0

スケーリングもオプションです。 https://github.com/twitter/scalding –

3

http://hadoop.apache.org/は言語に依存しません。

+0

申し訳ありませんが、Javaの実装を要求しませんでした。実際、HadoopはScalaにプラグインできますが、定型コードはJavaで記述する必要があります。 –

+1

すべての定型句を処理し、フリー/オープンソースとして公開するScalaHadoopAdapterを記述しますか? – yfeldblum

+7

ボイラープレートはjavaで記述する必要はありません。 – jshen

2

scouchdbCouchDBを使用するScalaインターフェイスに興味があるかもしれません。

もう1つのアイデアはGridGainです。 ScalaDudesには、ScalaでGridGainを使用する例があります。もう一つの例はhereです。

2

私はまさにこの問題に遭遇し、ScalaからHadoopを使いやすくするための小さなインフラストラクチャを作成しました。私はしばらくそれを使っていましたが、ついにそれをウェブ上に置くことになりました。それは(非常に元々)ScalaHadoopという名前です。

1

to jshen's point:

hadoopストリーミングは単にソケットを使用します。 Unixストリームを使用すると、コード(任意の言語)はstdinから読み込み、タブで区切られたストリームを出力するだけで済みます。マッパーを実装し、必要に応じてレデューサー(必要に応じてコンバイナーとして設定)を実行します。

2

hadoopの上にあるscala APIについては、Scoobiをチェックアウトしていますが、まだまだ開発が進んでいますが、多くの約束事を示しています。 Scala incubatorのhadoopの上に分散コレクションを実装する努力もありますが、その努力はまだ使えません。

Scaldingと呼ばれるTwitterからカスケードするための新しいスケーララッパーもあります。 Scaldingのドキュメントを非常に簡単に見てみると、 のように、カスケードとの統合がスムーズになりますが、まだ はカスケードの主な問題を解決できません。 カスケードの各演算は、カスケードのタプル(基本的に のフィールド値のリストであり、別個のスキーマの有無にかかわらず)で動作します。つまり、 型のエラーです。キーを文字列とキーとしてLongに結合すると、実行時にエラーが発生します( )。

+0

スケーリングにはタイプセーフなAPIがあります:https://github.com/twitter/scalding/wiki/Type-safe-api-referenceとFields API文字列をlongに結合しても実行時例外は発生しません(両方が数字の場合)。もちろん、型セーフなAPIでは、このような結合はコンパイラによって禁止されています。 –

3

個人的に、私は、Sparkの大ファンになった

http://spark-project.org/

あなたはかなりあなたはディスクを集中MapReduceの操作から経験するオーバーヘッドを削減する、メモリ内のクラスタコンピューティングを行う能力を持っています。

関連する問題