生活随笔
收集整理的這篇文章主要介紹了
                                
hbase获取region以及读取每个region的第一行
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                            hbase獲取region以及讀取每個region的第一行
 
@(HBASE)[hbase]
 
1、通過HRegionInfo可以獲取region的詳細信息 
 2、Scan#setBatch(1)可以指定每次讀取多少行,但必須馬上Scan#close(),否則會一直讀下去。
 
private static void checkTable(String tabName) {TableName tn = TableName.valueOf(tabName);Configuration config = HBaseConfiguration.create();HRegionInfo regionInfo;try (Connection connection = ConnectionFactory.createConnection(config);Admin admin = connection.getAdmin();Table table = connection.getTable(tn);) {if(!admin.tableExists(TableName.valueOf(tabName))){addAlarm(AlarmType.TABLE_NOT_FOUND,tabName);return;}List<HRegionInfo> lr = admin.getTableRegions(tn);Result r = null;if(lr == null){log.warn("No region found for table " + tabName);}// 遍歷表的每個regionIterator<HRegionInfo> ir = lr.iterator();while (ir.hasNext()) {regionInfo = ir.next();ResultScanner scanner = null;Long startTime = System.currentTimeMillis();byte[] startRowkey = regionInfo.getStartKey();Scan sc = new Scan();sc.setBatch(1);sc.setStartRow(startRowkey);try {scanner = table.getScanner(sc);r = scanner.next();scanner.close();} catch (Exception e) {}}
                            
總結(jié)
                            
                                以上是生活随笔為你收集整理的hbase获取region以及读取每个region的第一行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。