当它试图扫描一个非常大的Hbase列时,happybase崩溃了

时间:2016-01-26 15:20:11

标签: hbase happybase

我的代码如下:

infix operator

列raw:dataInfo可能大到50MB,当我运行上面的代码时,happybase崩溃并抛出以下异常:

for key,data in table.scan(columns=["raw:dataInfo"]):
   count+=1
   ...

请问任何想法,如何计算大栏目。谢谢!

1 个答案:

答案 0 :(得分:2)

我猜节俭服务器没有正确回答。 happybase报告(通过thrift库),无法从套接字中读取数据。

无论如何,如果你想进行全表扫描以进行计数(效率低但是没问题),请在扫描中使用过滤器:

# Scan, get only keys (data will be empty)
scanner = table.scan(
    row_start=b'aaa',
    row_stop=b'bbb',
    filter=b'KeyOnlyFilter() AND FirstKeyOnlyFilter()',
)

for row_key, data in scanner:
    pass  # do something with row_key

请参阅 https://github.com/wbolster/happybase/issues/12#issuecomment-12754400了解更多信息