/// <exception cref="System.IO.IOException"/>
        protected internal CombineFileRecordReaderWrapper(FileInputFormat <K, V> inputFormat
                                                          , CombineFileSplit split, Configuration conf, Reporter reporter, int idx)
        {
            FileSplit fileSplit = new FileSplit(split.GetPath(idx), split.GetOffset(idx), split
                                                .GetLength(idx), split.GetLocations());

            delegate_ = inputFormat.GetRecordReader(fileSplit, (JobConf)conf, reporter);
        }
예제 #2
0
        /// <exception cref="System.IO.IOException"/>
        public virtual InputSplit[] GetSplits(JobConf job, int numSplits)
        {
            IList <InputSplit> newStyleSplits = base.GetSplits(Job.GetInstance(job));

            InputSplit[] ret = new InputSplit[newStyleSplits.Count];
            for (int pos = 0; pos < newStyleSplits.Count; ++pos)
            {
                CombineFileSplit newStyleSplit = (CombineFileSplit)newStyleSplits[pos];
                ret[pos] = new CombineFileSplit(job, newStyleSplit.GetPaths(), newStyleSplit.GetStartOffsets
                                                    (), newStyleSplit.GetLengths(), newStyleSplit.GetLocations());
            }
            return(ret);
        }