1

私はこれに長い間取り組んできましたが、とても疲れています。SO コミュニティからの [明白な?] 洞察を期待しています。Cloudera CDH3、HBase .89、および Hadoop .20 を使用しています。

Thrift インターフェイスを使用して単一の HBase テーブルにデータを書き込む Python/Django アプリがあり、うまく機能します。ここで、それをいくつかの HBase テーブルにマップ/削減したいと考えています。

ここでの明白な答えは Dumbo または Apache PIG ですが、Pig では、HBaseStorage アダプターのサポートは私のバージョンではまだ利用できません (Pig はクラスと定義をロードできますが、「マップ」ステップでフリーズし、「 Input Splits"; Pig メーリング リストは、これが CDH3 Hadoop と互換性のない Pig 0.8 で修正されていることを示唆しているため、すべてのエッジ バージョンを使用する必要があります [私が思う])。Dumbo に HBaseStorage をデータ シンクとして使用させる方法に関する情報が見つかりません。

それが Python、Ruby、Scala、Clojure、Jython、JRuby、さらには PHP であるかどうかは気にしません。Java を書きたくないだけです(多くの理由から、そのほとんどは毎回感じる沈没感に関係しています) Int() を IntWritable() などに変換する必要があります)。

代替言語で HBase Map/Reduce ジョブを作成するために (過去 4 週間) 見つけることができる最後のソリューションと例を文字通りすべて試しましたが、すべてが古くなっているか不完全なようです。スタック オーバーフロー、自分のデバイスから私を救ってください!

4

1 に答える 1

0

それは正確には答えではありませんが、私が得た最も近いものです-

昨日irc.freenode.netの#hbaseで質問したところ、Clouderaの従業員の1人が応答しました。私がPigで抱えている「入力分割」の問題は、Pig 0.7に固有のものであり、Pig0.8はClouderaCDH3 Beta 4にバンドルされます(ETAはありません)。したがって、私がやりたいこと(シンクとソースの両方としてHBaseテーブルを使用してM / Rジョブを簡単に作成すること)は、次のリリースで可能になります。また、HBaseStorageクラスは、一般的に、任意のJVM言語からの読み取り/書き込み操作を支援するように改善され Jython、JRuby、Scala、およびClojureもすべて実行可能になるようです。

したがって、現時点での質問に対する答えは、「CDH3 Beta 4を待つ」、または「Pigの最新バージョンをダウンロードして、HBaseと互換性があることを祈る」です。

于 2010-12-31T02:16:40.610 に答える