@Override public List<PartitionQuery<K, T>> getPartitions(Query<K, T> query) throws IOException { List<InputSplit> splits = null; List<PartitionQuery<K, T>> queries = null; splits = GoraMapReduceUtils.getSplits(getConf(), inputPath); queries = new ArrayList<>(splits.size()); for(InputSplit split : splits) { queries.add(new FileSplitPartitionQuery<>(query, (FileSplit) split)); } return queries; }
@Override protected Result<K,T> executePartial(FileSplitPartitionQuery<K,T> query) { try{ FsInput fsInput = createFsInput(); DataFileReader<T> reader = createReader(fsInput); return new DataFileAvroResult<>(this, query, reader, fsInput , query.getStart(), query.getLength()); } catch(IOException ex){ LOG.error(ex.getMessage(), ex); return null; } }
@SuppressWarnings({ "rawtypes" }) private void setInputPath(PartitionQuery<K, T> partitionQuery) throws IOException { //if the data store is file based if(partitionQuery instanceof FileSplitPartitionQuery) { FileSplit split = ((FileSplitPartitionQuery<K,T>)partitionQuery).getSplit(); //set the input path to FileSplit's path. ((FileBackedDataStore)partitionQuery.getDataStore()).setInputPath( split.getPath().toString()); } }
@SuppressWarnings({ "rawtypes" }) private void setInputPath(PartitionQuery<K, T> partitionQuery) throws IOException { //if the data store is file based if(partitionQuery instanceof FileSplitPartitionQuery) { FileSplit split = ((FileSplitPartitionQuery<K,T>)partitionQuery).getSplit(); //set the input path to FileSplit's path. ((FileBackedDataStore)partitionQuery.getDataStore()).setInputPath( split.getPath().toString()); } }
@Override public List<PartitionQuery<K, T>> getPartitions(Query<K, T> query){ List<InputSplit> splits = null; List<PartitionQuery<K, T>> queries = null; try{ splits = GoraMapReduceUtils.getSplits(getConf(), inputPath); queries = new ArrayList<>(splits.size()); for(InputSplit split : splits) { queries.add(new FileSplitPartitionQuery<>(query, (FileSplit) split)); } }catch(IOException ex){ LOG.error(ex.getMessage(), ex); } return queries; }