hbase原理GET


hbase原理GET

sequence: get:

-> getRegion(regionname).get:Result

-> checkFamily->RegionScanner.next

-> scanners.add(store.getScanner(scan, entry.getValue()));

this.storeHeap = new KeyValueHeap(scanners, comparator);

->

    1.  List<KeyValueScanner> scanners = new LinkedList<KeyValueScanner>();  
    2.     // First the store file scanners  
    3.     if (memOnly == false) {  
    4.       List<StoreFileScanner> sfScanners = StoreFileScanner  
    5.       .getScannersForStoreFiles(store.getStorefiles(), cacheBlocks, isGet);  
    6.   
    7.       // include only those scan files which pass all filters  
    8.       for (StoreFileScanner sfs : sfScanners) {  
    9.         if (sfs.shouldSeek(scan, columns)) {  
    10.           scanners.add(sfs);  
    11.         }  
    12.       }  
    13.     }  
    14.     // Then the memstore scanners  
    15.     if ((filesOnly == false) && (this.store.memstore.shouldSeek(scan))) {  
    16.         scanners.addAll(this.store.memstore.getScanners());  
    17.     }  
大山 /
Published under (CC) BY-NC-SA in categories   tagged with