def _readIndex(self): if self._keys: return key_class = self._index.getKeyClass() skip = self.INDEX_SKIP position = LongWritable() last_position = None while True: key = key_class() if not self._index.next(key, position): break if skip > 0: skip -= 1 continue skip = self.INDEX_SKIP if position.get() == last_position: continue self._positions.append(position.get()) self._keys.append(key)
class Reader(MapFile.Reader): def __init__(self, path): super(Reader, self).__init__(path) self._key = LongWritable(0) def seek(self, n): if isinstance(n, LongWritable): n = n.get() self._key.set(n) return super(Reader, self).seek(self._key) def key(self): return self._key.get() def get(self, n, value): self._key.set(n) return(super(Reader, self).get(self._key, value))
class Reader(MapFile.Reader): def __init__(self, path): super(Reader, self).__init__(path) self._key = LongWritable(0) def seek(self, n): if isinstance(n, LongWritable): n = n.get() self._key.set(n) return super(Reader, self).seek(self._key) def key(self): return self._key.get() def get(self, n, value): self._key.set(n) return (super(Reader, self).get(self._key, value))