在PIG中是否有HBaseStorage的替代方案

时间:2013-11-21 11:20:35

标签: hadoop hbase hdfs apache-pig

我在猪脚本中使用HBaseStorage和-caching选项,如下所示

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

我可以看到这反映在我的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/

以上博客说我必须在bootstrap脚本中设置hbase.client.scanner.caching 我不知道该怎么做 它是否足够如果我在Hbase-conf中设置它。 请帮我解决这个问题

2 个答案:

答案 0 :(得分:1)

hbase.client.scanner.caching指向在扫描程序上调用next时将获取的行数(如果它不是从(本地,客户端)内存提供的话)。

较高的缓存值将使扫描程序更快,但会占用更多内存,而缓存为空时,下一次调用可能会花费更长时间。请勿将此值设置为调用之间的时间大于扫描程序超时; 即hbase.regionserver.lease.period此属性默认为1分钟。客户必须 在此期间报告,他们被视为死亡。

答案 1 :(得分:1)

根据我的经验,HBase与Pig表现不佳。它你没有随机查询的要求然后只使用HDFS其他HB HB工作将是更好的选择。此外,在Hadoop MR作业中,您可以连接到Hbase(此选项为我提供了最佳性能)。

相关问题