Hadoop的MR运算中,Hbase可以作为输入数据源参与运算,其中作为HTable的迭代器Scan有几个使用技巧 涉及的方法如下: public void setBatch(int batch)public void setCaching(int caching)public void setCacheBlocks(boolean cacheBlocks) public void setB
Hadoop的MR运算中,Hbase可以作为输入数据源参与运算,其中作为HTable的迭代器Scan有几个使用技巧
涉及的方法如下:
public void setBatch(int batch) public void setCaching(int caching) public void setCacheBlocks(boolean cacheBlocks)
public void setBatch(int batch) :
为设置获取记录的列个数,默认无限制,也就是返回所有的列
public void setCaching(int caching):
每次从服务器端读取的行数,默认为配置文件中设置的值
public void setCacheBlocks(boolean cacheBlocks):
为是否缓存块,默认缓存,我们分内存,缓存和磁盘,三种方式,一般数据的读取为内存->缓存->磁盘,当MR的时候为非热点数据,因此不需要缓存
因此在MR的时候最好设置如下:
scan.setCacheBlocks(false); scan.setCaching(200);//大了占内存,但是rpc少 scan.setBatch(6);//你需要的列
?
原文地址:MR中Hbase的Scan使用技巧, 感谢原作者分享。