@Override public void reset() throws IOException { // reset the buffer buffer.clear(); forceFillBuffer = true; filePosition = fragment.getStartKey(); recordCount = 0; channel.position(filePosition); eos = false; }
public RCFileScanner(Configuration conf, final Schema schema, final TableMeta meta, final Fragment fragment) throws IOException { super(conf, schema, meta, fragment); conf.setInt("io.file.buffer.size", 4096); //TODO remove startOffset = this.fragment.getStartKey(); endOffset = startOffset + this.fragment.getLength(); start = 0; }
@Override public void reset() throws IOException { // reload initial buffer filePosition = fragment.getStartKey(); recordCount = 0; seek(filePosition); eos = false; }
@Override public float getProgress() { if(!inited) return 0.0f; if(eos) { return 1.0f; } long readBytes = filePosition - fragment.getStartKey(); if (readBytes == 0) { return 0.0f; } else { return Math.min(1.0f, ((float) readBytes / fragment.getLength())); } } }
public DelimitedTextFileScanner(Configuration conf, final Schema schema, final TableMeta meta, final Fragment fragment) throws IOException { super(conf, schema, meta, fragment); reader = new DelimitedLineReader(conf, this.fragment, conf.getInt(READ_BUFFER_SIZE, 128 * StorageUnit.KB)); if (!reader.isCompressed()) { splittable = true; } startOffset = this.fragment.getStartKey(); endOffset = this.fragment.getEndKey(); errorTorrenceMaxNum = Integer.parseInt(meta.getProperty(TEXT_ERROR_TOLERANCE_MAXNUM, DEFAULT_TEXT_ERROR_TOLERANCE_MAXNUM)); }
public ExampleHttpJsonScanner(Configuration conf, Schema schema, TableMeta tableMeta, Fragment fragment) throws IOException { super(conf, schema, tableMeta, fragment); reader = new ExampleHttpJsonLineReader(conf, this.fragment, conf.getInt(READ_BUFFER_SIZE, 128 * StorageUnit.KB)); if (!this.reader.isCompressed()) { splittable = true; } startOffset = this.fragment.getStartKey(); endOffset = this.fragment.getEndKey(); maxAllowedErrorCount = Integer.parseInt(tableMeta.getProperty(TEXT_ERROR_TOLERANCE_MAXNUM, DEFAULT_TEXT_ERROR_TOLERANCE_MAXNUM)); }
private void initChannel() throws IOException { FileSystem fs = FileScanner.getFileSystem((TajoConf) conf, fragment.getPath()); if (fs instanceof LocalFileSystem) { File file; try { if (fragment.getPath().toUri().getScheme() != null) { file = new File(fragment.getPath().toUri()); } else { file = new File(fragment.getPath().toString()); } } catch (IllegalArgumentException iae) { throw new IOException(iae); } channel = new LocalFileInputChannel(new FileInputStream(file)); } else { channel = new FSDataInputChannel(fs.open(fragment.getPath())); } // initial set position if (fragment.getStartKey() > 0) { channel.seek(fragment.getStartKey()); } filePosition = fragment.getStartKey(); endOffset = fragment.getStartKey() + fragment.getLength(); if (LOG.isDebugEnabled()) { LOG.debug("RawFileScanner open:" + fragment.getPath() + ", offset :" + fragment.getStartKey() + ", fragment length :" + fragment.getLength()); } }
@Override public TableStats getInputStats() { if(inputStats != null){ inputStats.setNumRows(recordCount); inputStats.setReadBytes(filePosition - fragment.getStartKey()); // actual read bytes (scan + rescan * n) inputStats.setNumBytes(fragment.getLength()); } return inputStats; }
@Override public void close() throws IOException { if (inputStats != null) { inputStats.setReadBytes(filePosition - fragment.getStartKey()); inputStats.setNumRows(recordCount); } if(tupleBuffer != null) { tupleBuffer.release(); tupleBuffer = null; } reader = null; IOUtils.cleanup(LOG, channel); }
filePosition = startOffset = fragment.getStartKey(); endOffset = fragment.getEndKey(); if (fragment.getStartKey() > 0) { channel.position(fragment.getStartKey());
pos = startOffset = fragment.getStartKey(); end = fragment.getEndKey();
this.start = fragment.getStartKey(); this.end = start + fragment.getLength(); if (fragment.getStartKey() > reader.getPosition()) reader.sync(this.start);
long offset = fragment.getStartKey(); long maxOffset = fragment.getEndKey(); for(StripeInformation stripe: stripes) {