在我的 hadoop 映射器任务中,我通过扫描 hbase 表创建了一个 [key,value] = [sortKey,rowID] 在 reduce 任务中,当我执行 Result=Htable.get(rowID) 时,一些随机返回 null 以表示不同行 ID。但是在 hbase shell 中查询时,能够获取相同的 rowId。对于 1000 的输入 hbase 表行数(mapper 能够获取所有这些记录),大约 100 条记录将 htable.get(rowID) 返回为 null(在 reducer 中),但所有这 100 条记录实际上都在表中可用。
知道为什么 htable 上的“get”会随机返回 null 吗?任何缓存或内存调整都可以解决这个问题?
我正在使用 hadoop-1.0.3、hbase-0.92.1