我是用hbase集成storm,在spout里面读取hbase的数据,之前用的是
for (Result result : orderRs) {
for (Cell cell : result.rawCells()) {
orderRowkeys = new String(CellUtil.cloneRow(cell));
}
来获取行键进而得到数据。但是在ScannerResult orderRs = orderInfoTable.getScanner(scan);这个地方和 for (Result result : orderRs) {这两个地方在获取到几条数据之后 一直报java.io.InterruptedIOException 就这样一个异常
没有cause by 两个地方轮流报。然后我以为是循环的问题 就用迭代这种方法来获取数据
while(it.hasNext()){
Result result = it.next();
List cells = result.listCells();
for(int i =0;i<cells.size();i++){
可是 在 ScannerResult orderRs = orderInfoTable.getScanner(scan);和
while(it.hasNext)还是轮流报这个错。 有时候在spout里面这两个地方不报了 在后面的bolt里面我也有这样得处理的地方接着报 导致运行不下去。。。。可是 同样的代码 在main方法下面确实可以一直讲数据拿完 苦苦找不到原因
这个是不是这两个for循环导致的啊
如果是的话 那又如何才能获取hbase中数据呢
还有这样