我在 pig 脚本中将HBaseStorage与-caching选项一起使用,如下所示

HBaseStorage('countDetails:ansCount countDetails:divCount countDetails:unansCount countDetails:engCount countDetails:ineffCount countDetails:totalCount', '-caching 1000');

我可以看到这反射(reflect)在我的job.xml中
但是我可以看到它没有时差,我正在处理1000万条记录并将大约160mb的数据存储到HBase中。
当我将结果存储在hdfs中时,要花3分钟来处理同一作业就需要30分钟才能存储到HBase中。

我什至尝试设置
SET hbase.client.scanner.caching 1000;

请让我知道如何减少时间。
HBaseStorage是否有其他选择?
http://apmblog.compuware.com/2013/02/19/speeding-up-a-pighbase-mapreduce-job-by-a-factor-of-15/

上面的博客说我必须在引导脚本中设置hbase.client.scanner.caching
我不知道该怎么做
如果我在Hbase-conf中设置它就足够了。
请帮助我

最佳答案

hbase.client.scanner.caching指向如果未从(本地,客户端)内存提供服务,则在扫描仪上调用next时将获取的行数。

较高的缓存值将启用更快的扫描程序,但会消耗更多的内存,并且当缓存为空时,对next的某些调用可能会花费越来越长的时间。请勿将该值设置为两次调用之间的时间大于扫描程序的超时时间;
hbase.regionserver.lease.period此属性默认为1分钟。客户必须
在此期间内报告,否则将被视为死亡。

关于hadoop - PIG中是否有HBaseStorage的替代方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20119554/

10-10 10:29