Class KvFileCollator

java.lang.Object
io.datarouter.bytes.kvfile.KvFileCollator

public class KvFileCollator extends Object
Collate KvFileEntries using only the binary data, not requiring the objects to be decoded. Facilitates sorting much more data than fits in memory.
  • Constructor Details

    • KvFileCollator

      public KvFileCollator()
  • Method Details

    • keepAll

      public static io.datarouter.scanner.Scanner<KvFileEntry> keepAll(List<KvFileReader> readers)
      Fastest option Merge entries keeping all versions and ops, including duplicates. Assumes input is sorted by key+version+op.
    • pruneVersions

      public static io.datarouter.scanner.Scanner<KvFileEntry> pruneVersions(List<KvFileReader> readers)
      Merge entries keeping the latest version. Keeps deletes. Assumes input is sorted by key+version+op. If multiple entries have same latest version then selection is undefined.
    • pruneAll

      public static io.datarouter.scanner.Scanner<KvFileEntry> pruneAll(List<KvFileReader> readers)
      Merge entries keeping the latest version. If lastest version is a DELETE then it's omitted. Assumes input is sorted by key+version. If multiple entries have same latest version then selection is undefined.