package mil.nga.giat.geowave.mapreduce;
import java.io.IOException;
import java.util.List;
import mil.nga.giat.geowave.core.store.DataStore;
import mil.nga.giat.geowave.core.store.adapter.AdapterStore;
import mil.nga.giat.geowave.core.store.adapter.statistics.DataStatisticsStore;
import mil.nga.giat.geowave.core.store.index.IndexStore;
import mil.nga.giat.geowave.core.store.query.DistributableQuery;
import mil.nga.giat.geowave.core.store.query.QueryOptions;
import mil.nga.giat.geowave.mapreduce.input.GeoWaveInputKey;
import org.apache.hadoop.mapreduce.InputSplit;
import org.apache.hadoop.mapreduce.RecordReader;
public interface MapReduceDataStore extends
DataStore
{
public RecordReader<GeoWaveInputKey, ?> createRecordReader(
DistributableQuery query,
QueryOptions queryOptions,
AdapterStore adapterStore,
DataStatisticsStore statsStore,
IndexStore indexStore,
boolean isOutputWritable,
InputSplit inputSplit )
throws IOException,
InterruptedException;
public List<InputSplit> getSplits(
DistributableQuery query,
QueryOptions queryOptions,
AdapterStore adapterStore,
DataStatisticsStore statsStore,
IndexStore indexStore,
Integer minSplits,
Integer maxSplits )
throws IOException,
InterruptedException;
}