18

私は最近多くのオプションを見つけました、そしてそれらの比較において主に成熟度と安定性によって興味深いものでした。

  1. クランチ-https ://github.com/cloudera/crunch
  2. Scrunch- https://github.com/cloudera/crunch/tree/master/scrunch
  3. カスケード-http ://www.cascading.org/
  4. スカルディング https://github.com/twitter/scalding
  5. FlumeJava
  6. Scoobi- https://github.com/NICTA/scoobi/
4

3 に答える 3

14

私は Scoobi の開発者なので、公平な回答を期待しないでください。

まず第一に、FlumeJava は Google の内部プロジェクトであり、MapReduce の上に (非常に生産的な) 抽象化を提供します (hadoop ではありません)。彼らは、Scoobi や Crunch などのプロジェクトが基づいているものについての論文を発表しました。

あなたの唯一の基準が成熟度である場合 - カスケードが最善の策だと思います。

ただし、(より優れた) FlumeJava スタイルの抽象化を探している場合は、(S)crunch と Scoobi のどちらかを選択することをお勧めします。

表面的なものかもしれませんが、最大の違いは、crunch が Java で書かれており、Scala バインディング (Scrunch) を使用していることです。また、Scoobi は Java バインディング (scoobij) を使用して Scala で記述されています。どちらも非常に堅実な選択肢であり、どちらを選択しても間違いはありません。Crunch にもかなり似た話があると思いますが、Scoobi は実際のプロジェクトで使用されており、継続的に開発されています。バグの修正と機能の実装に非常に積極的に取り組んでいます。

とにかく、どちらも偉大な人々が背後にいる偉大なプロジェクトであり、互いに数日以内にリリースされました. それらは同じ抽象化 (同様の API を使用) を提供するため、2 つの間の切り替えは少しも問題になりません。私のお勧めは、両方を試してみて、何が自分に合っているかを確認することです. どちらのプロジェクトにもロックインはありませんので、コミットする必要はありません:)

また、どちらのプロジェクトについてもフィードバックがある場合は、必ず提供してください :)

于 2012-02-24T10:57:56.260 に答える
5

私自身、 Scoobiの大ファンであり、本番環境で使用しています。タイプセーフな Hadoop プログラムを非常に慣用的な Scala の方法で作成できる点が気に入っています。それが必ずしもあなたの好みではなく、Cascadingモデルは好きだが、書かなければならない膨大な量の定型コードに怖がっている場合、Twitter は最近、 Scaldingと呼ばれるCascadingの上に独自の Scala 抽象化レイヤーをオープンソース化しました。

ほとんどのフレームワークは機能的に非常に似ているため、現時点では好みの問題だと思います。

于 2012-02-24T15:24:54.753 に答える