2017-02-16 5 views
0

私はHadoop MapReduce/Sparkの新機能を使用しています。対象プロジェクトでは、Hadoop MapReduce/Sparkでデータ前処理を実行したいと考えています。私はHadoop MapReduceの基本を知っていますが、このフレームワークでプリプロセスアルゴリズム/メソッドを実装する方法はわかりません。 Hadoop MapReduceの場合、私はとReduce()を定義する必要があります。<key, value>ペアをマッパーからReducersへの伝送タイプとして使用します。しかし、データベーステーブルでは、<key, value>形式のテーブルエントリをどのように扱うことができますか?プライムキーをキーとして適用するのはナンセンスです。私はキーを指定する必要があるので、Sparkの場合と同様のケースです。Hadoop MapReduceまたはSparkでデータ前処理を実行するにはどうすればよいですか?

たとえば、データベーステーブル内の各データエントリに対して、一部のエントリの一部のフィールドが見当たらない場合があるため、これらのフィールドのデフォルト値を補完戦略の種類とともに追加したいと考えています。 <key, value>の方法でデータエントリを処理するにはどうすればよいですか?プライマリキーをkeyと設定するのは難しいことです。その場合、それぞれの<key, value>ペアは他のものと同じキーを持たないため、集約はこの場合役に立ちません。

答えて

0

map reduceは低レベルプログラミングの一種です。 HIVEやPIGのような高レベルの抽象化から始めることができます。

構造化データを扱う場合、HIVEはSQLのようなインターフェイスで、SQLをMRジョブにインテリジェントに変換します。

これが役に立ちます。

+0

OK、取得します。 Hadoop MapReduceがこれらの高レベルの抽象化をどのように実装しているか知っていますか? –

+0

PIgとHiveはMap Reduceの上に構築された高レベルの抽象です。 –

+0

私はPigとHiveが何であるかを知っていますが、生のHadoop MapReduceを使ってデータ前処理をどのように実装していますか?それは他のパッケージに依存しますか? –

関連する問題