public final class Pump extends Object
| Constructor and Description |
|---|
Pump() |
| Modifier and Type | Method and Description |
|---|---|
static void |
archiveTreeMap(Iterator<Fun.Pair> source,
String file,
Volume.VolumeFactory factory,
DB.BTreeMapMaker config) |
static void |
archiveTreeMap(NavigableMap source,
File target,
DB.BTreeMapMaker config) |
protected static void |
arraySort(Object[] array,
int arrayLen,
Comparator comparator,
Executor executor) |
static void |
backupFull(DB db,
OutputStream out) |
static DB |
backupFullRestore(DBMaker.Maker maker,
InputStream in) |
static void |
backupIncremental(DB db,
File backupDir) |
static DB |
backupIncrementalRestore(DBMaker.Maker maker,
File backupDir) |
static <E,K,V> long |
buildTreeMap(Iterator<E> source,
Engine engine,
Fun.Function1<K,E> keyExtractor,
Fun.Function1<V,E> valueExtractor,
boolean ignoreDuplicates,
int nodeSize,
boolean valuesStoredOutsideNodes,
long counterRecid,
BTreeKeySerializer keySerializer,
Serializer<V> valueSerializer,
Executor executor)
Build BTreeMap (or TreeSet) from presorted data.
|
static void |
copy(DB src,
DB target)
Deprecated.
not yet implemented
|
static <K,V,A> void |
fillHTreeMap(HTreeMap<K,V> m,
Iterator<A> pumpSource,
Fun.Function1<K,A> pumpKeyExtractor,
Fun.Function1<V,A> pumpValueExtractor,
int pumpPresortBatchSize,
boolean pumpIgnoreDuplicates,
Serializer<A> sortSerializer,
Executor executor) |
static <E> Iterator<E> |
merge(Executor executor,
Iterator... iters)
Merges multiple iterators into single iterator.
|
protected static String |
nameWithoutExt(File f) |
static <E> Iterator<E> |
poisonPillIterator(BlockingQueue<E> q,
Object poisonPill) |
static <E> Iterator<E> |
sort(Comparator<E> comparator,
boolean mergeDuplicates,
Iterator<E>... iterators)
Merge presorted iterators into single sorted iterator.
|
static <E> Iterator<E> |
sort(Iterator<E> source,
boolean mergeDuplicates,
int batchSize,
Comparator comparator,
Serializer<E> serializer,
Executor executor)
Sorts large data set by given
Comparator. |
public static <E> Iterator<E> sort(Iterator<E> source, boolean mergeDuplicates, int batchSize, Comparator comparator, Serializer<E> serializer, Executor executor)
Comparator. Data are sorted with in-memory cache and temporary files.source - iterator over unsorted datamergeDuplicates - should be duplicate keys merged into single one?batchSize - how much items can fit into heap memorycomparator - used to sort dataserializer - used to store data in temporary filesprotected static void arraySort(Object[] array, int arrayLen, Comparator comparator, Executor executor)
public static <E> Iterator<E> sort(Comparator<E> comparator, boolean mergeDuplicates, Iterator<E>... iterators)
comparator - used to compare datamergeDuplicates - if duplicate keys should be merged into single oneiterators - array of already sorted iteratorspublic static <E> Iterator<E> merge(Executor executor, Iterator... iters)
iters - - iterators to be mergedpublic static <E> Iterator<E> poisonPillIterator(BlockingQueue<E> q, Object poisonPill)
public static <E,K,V> long buildTreeMap(Iterator<E> source, Engine engine, Fun.Function1<K,E> keyExtractor, Fun.Function1<V,E> valueExtractor, boolean ignoreDuplicates, int nodeSize, boolean valuesStoredOutsideNodes, long counterRecid, BTreeKeySerializer keySerializer, Serializer<V> valueSerializer, Executor executor)
Map.put(key,value) method.
It is because tree integrity does not have to be maintained and
tree can be created in linear way with.
This method expect data to be presorted in **reverse order** (highest to lowest).
There are technical reason for this requirement.
To sort unordered data use sort(java.util.Iterator, boolean, int, java.util.Comparator, Serializer, Executor)
This method does not call commit. You should disable Write Ahead Log when this method is used DBMaker.Maker.transactionDisable()source - iterator over source data, must be reverse sortedkeyExtractor - transforms items from source iterator into keys. If null source items will be used directly as keys.valueExtractor - transforms items from source iterator into values. If null BTreeMap will be constructed without values (as Set)ignoreDuplicates - should be duplicate keys merged into single one?nodeSize - maximal BTree node size before it is splited.valuesStoredOutsideNodes - if true values will not be stored as part of BTree nodescounterRecid - TODO make size counter friendly to usekeySerializer - serializer for keys, use null for default valuevalueSerializer - serializer for value, use null for default valueDBException.PumpSourceNotSorted - if source iterator is not reverse sortedDBException.PumpSourceDuplicate - if source iterator has duplicatespublic static <K,V,A> void fillHTreeMap(HTreeMap<K,V> m, Iterator<A> pumpSource, Fun.Function1<K,A> pumpKeyExtractor, Fun.Function1<V,A> pumpValueExtractor, int pumpPresortBatchSize, boolean pumpIgnoreDuplicates, Serializer<A> sortSerializer, Executor executor)
public static void backupFull(DB db, OutputStream out)
public static DB backupFullRestore(DBMaker.Maker maker, InputStream in)
public static DB backupIncrementalRestore(DBMaker.Maker maker, File backupDir)
public static void archiveTreeMap(NavigableMap source, File target, DB.BTreeMapMaker config)
public static void archiveTreeMap(Iterator<Fun.Pair> source, String file, Volume.VolumeFactory factory, DB.BTreeMapMaker config)
Copyright © 2015. All Rights Reserved.