采样hbase表键空间

k97glaaz  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(391)

我想构建hbase表的rowkey空间的随机样本。
比方说,我希望hbase中大约有1%的键随机分布在表中。最好的办法是什么?
我想我可以写一个mapreduce作业来处理所有的数据并提取1/100的键。。。或者使用协处理器。

nwlqm0z1

nwlqm0z11#

最后我在Pig身上做了这件事,但不管出于什么原因,它都慢得可怕。我得到了我需要的数据,所以我没有进一步说,但我可能应该试试 Alexandria 的答案。

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');
irtuqstp

irtuqstp2#

您可以使用randomrowfilter获取样本。

相关问题