I have a case where I want to "split" rows with a lot of qualifiers (a very small amount of rows < 1%, with an exceptional number of qualifiers), into a number of rows. Say like: row1..... row1_DELIMITER_UUID row1_DELIMITER_UUID2 row2 I was thinking of using a postGet() RegionObserver (the "split" rows will always be stored in the same region) but when digging into the code I noticed that Get is a Scan so I was wondering why not just scan for all row1s ?
On Wed, Jan 15, 2014 at 10:53 PM, Stack <[email protected]> wrote: > On Wed, Jan 15, 2014 at 5:34 AM, Amit Sela <[email protected]> wrote: > > > Hi all, > > > > I was wondering if Get is implemented as a private case of scan ? > > In HRegion, I see that the get passed is used to construct a Scan object > > for the RegionScanner to use. > > > > > A Get is a Scan, yes. > > > > I was wondering if executing Scan(Get) vs Get from client api should have > > any overhead ? > > > > There are differences in that Get will pread from HDFS where Scan will seek > and read under lock (and only fall back to pread when it notices contention > on the hfile). > > Why do you want to Scan(Get) instead of Get? > > St.Ack >
