3

HBase テーブルの行キー スペースのランダム サンプルを作成したいと考えています。

たとえば、HBase のキーの約 1% をテーブル全体にランダムに分散させたいとします。これを行う最善の方法は何ですか?

すべてのデータを処理し、キーの 1/100 を取得する MapReduce ジョブを作成できると思います... またはコプロセッサを使用することもできます。

4

2 に答える 2

3

RandomRowFilterを使用してサンプルを取得できます。

于 2012-12-05T17:47:31.987 に答える
0

私はPigでこれを行うことになりましたが、何らかの理由でそれはひどく遅かったです。必要なデータを入手したので、先に進みませんでしたが、おそらくアレクサンダーの答えを試してみる必要があります。

data = LOAD 'hbase://MARS1'
   USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
     'A:*', '-loadKey true')
   AS (id:bytearray, A_map:map[]);

justkeys = FOREACH data GENERATE id;

-- rough estimate of number of keys in hbase table 
smp = SAMPLE justkeys 0.000001;

STORE smp INTO 'key_sample' USING PigStorage('\t');
于 2012-12-07T03:53:46.857 に答える