我已经使用Hbase几个月了,我已经加载了超过6GB数据的Hbase表。当我尝试使用Java客户端扫描行时,它会挂起并报告以下错误,
Could not seek StoreFileScanner[HFileScanner for reader reader=hdfs
此外,如果我登录到shell并进行扫描,它可以正常工作,甚至Java客户端扫描程序也能正常运行,因为hbase表只有少量数据。
对此有何解决方法?
答案 0 :(得分:0)
对于大数据,您可以编写地图缩减代码。简单的Java程序在大数据方面并不是非常有效。您可以查看pig脚本来实现这一目标。
查看这些内容以获得进一步的帮助:
http://sujee.net/tech/articles/hadoop/hbase-map-reduce-freq-counter/
http://wiki.apache.org/hadoop/Hbase/MapReduce
http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/mapreduce/package-summary.html
否则你也可以试试Pig Scripts for mapt reduce program。
http://pig.apache.org/docs/r0.9.1/api/org/apache/pig/backend/hadoop/hbase/HBaseTableInputFormat.html
还有一个选择是增加HBase超时属性并尝试一下。从不同的HBase配置设置,您可以参考:
http://hbase.apache.org/docs/r0.20.6/hbase-conf.html
但是当谈到大数据时,Map-reduce代码总是更好,你也可以搜索hbase的优化指南/最佳实践。