public class CachedDataStoreFactory extends Object implements DataStoreFactory
CachedColumnFactory
.Modifier | Constructor and Description |
---|---|
|
CachedDataStoreFactory(CachedColumnFactory colFact,
TupleRunner tupleRunner)
Constructs a default instance.
|
protected |
CachedDataStoreFactory(CachedColumnFactory colFact,
TupleRunner tupleRunner,
RowRunner rowRunner)
Constructs an instance with control over read paralellism.
|
Modifier and Type | Method and Description |
---|---|
DataStore |
readDataStore(DataSpec[] dataSpecs,
DataStore prevStore)
Generates a DataStore capable of supplying the data for a given
list of DataSpec objects.
|
public CachedDataStoreFactory(CachedColumnFactory colFact, TupleRunner tupleRunner)
colFact
- object which provides the storage for caching
arrays of typed datatupleRunner
- tuple runner dispensed with DataStoresprotected CachedDataStoreFactory(CachedColumnFactory colFact, TupleRunner tupleRunner, RowRunner rowRunner)
Note the parallel cache population is a bit experimental. The reading is faster, but the contents are not guaranteed to be in the right order (most likely that doesn't matter for large datasets) and the resulting cached data can be a bit (20%?) slower to use.
colFact
- object which provides the storage for caching
arrays of typed datatupleRunner
- tuple runner dispensed with DataStoresrowRunner
- null for sequential cache population,
non-null for potentially parallelpublic DataStore readDataStore(DataSpec[] dataSpecs, DataStore prevStore) throws IOException, InterruptedException
DataStoreFactory
prevStore
argument may optionally supply the
result of a previous invocation of this method.
The implementation may choose to make use of the internal state
of such an instance for efficiency, for instance by re-using data
that has already been read.
Since the bulk data is managed by the DataStore object,
care should be taken about what happens to the DataStore
objects supplied to and returned from this method.
In particular, code both invoking and implementing this method should
usually make sure not to keep a reference to the prevStore
argument.
This method may perform the actual reading, and therefore take time. It is not intended to be invoked on the event dispatch thread.
readDataStore
in interface DataStoreFactory
dataSpecs
- data specifications; some elements may be nullprevStore
- previously obtained DataStore, or nullIOException
InterruptedException
Copyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.