Hadoop 采样HBase表键空间

Hadoop 采样HBase表键空间,hadoop,hbase,Hadoop,Hbase,我想构建HBase表的行键空间的随机样本 比方说,我希望有大约1%的HBase密钥随机分布在表中。最好的方法是什么 我想我可以编写一个MapReduce作业来处理所有数据并提取1/100的键。。。或者使用协处理器。您可以使用获取样本 我最后在猪身上做了这件事,但不管出于什么原因,它的速度非常慢。我得到了我需要的数据,所以我没有再进一步,但我可能应该试试亚历山大的答案 data = LOAD 'hbase://MARS1' USING org.apache.pig.backend.hadoo

我想构建HBase表的行键空间的随机样本

比方说,我希望有大约1%的HBase密钥随机分布在表中。最好的方法是什么


我想我可以编写一个MapReduce作业来处理所有数据并提取1/100的键。。。或者使用协处理器。

您可以使用获取样本

我最后在猪身上做了这件事,但不管出于什么原因,它的速度非常慢。我得到了我需要的数据,所以我没有再进一步,但我可能应该试试亚历山大的答案

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

您也可以应用
KeyOnlyFilter
,因为只考虑键。