0

入力としてhbaseテーブルを使用し、それぞれの行IDと連結された番号で構成されるように前処理したキーを使用すると、キーの先頭に同じ番号を持つすべての行が処理されるので安心します。 M/Rジョブで同じマッパーから。これはTableInputFormatの拡張によって実現できることを認識しており、このクラスの拡張に関する投稿を1つか2つ見ましたが、特にこれを行うための最も効率的な方法を探しています。

誰かアイデアがあれば教えてください。

4

1 に答える 1

0

スキャンで PrefixFilter を使用できます。 http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html

そして、Future を使用してさまざまなマッパーの起動を並列化します

final Future<Boolean> newJobFuture = executor.submit(new Callable<Boolean>() {
        @Override
        public Boolean call() throws Exception {
            Job mapReduceJob = MyJobBuilder.createJob(args, thePrefix,
                    ...);
            return mapReduceJob.waitForCompletion(true);
        }
    });

しかし、これはあなたが探しているリデューサーのアプローチだと思います。

于 2013-06-04T05:22:20.733 に答える