Example #1
0
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))
    def append(self, key, value):
        self._checkKey(key)

        pos = self._data.getLength()
        if self._size >= self._last_index_nkeys + self.INDEX_INTERVAL and pos > self._last_index_pos:
            self._index.append(key, LongWritable(pos))
            self._last_index_pos = pos
            self._last_index_nkeys = self._size

        self._data.append(key, value)
        self._size += 1
Example #4
0
    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)
    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)
Example #6
0
 def __init__(self, path):
     super(Reader, self).__init__(path)
     self._key = LongWritable(0)
 def __init__(self, path):
     super(Reader, self).__init__(path)
     self._key = LongWritable(0)
 def append(self, value):
     super(Writer, self).append(LongWritable(self._count), value)
     self._count += 1