@Override public void close() { // some hive input formats are broken and bad things can happen if you close them multiple times if (closed) { return; } closed = true; try { stats.addMaxCombinedBytesPerRow(recordReader.getMaxCombinedBytesPerRow()); recordReader.close(); } catch (IOException e) { throw new UncheckedIOException(e); } }
private RowBlock read(TempFile tempFile, Type readerType) throws IOException { DataSize dataSize = new DataSize(1, MEGABYTE); OrcDataSource orcDataSource = new FileOrcDataSource(tempFile.getFile(), dataSize, dataSize, dataSize, true); OrcReader orcReader = new OrcReader(orcDataSource, ORC, dataSize, dataSize, dataSize, dataSize); Map<Integer, Type> includedColumns = new HashMap<>(); includedColumns.put(0, readerType); OrcRecordReader recordReader = orcReader.createRecordReader(includedColumns, OrcPredicate.TRUE, UTC, newSimpleAggregatedMemoryContext(), OrcReader.INITIAL_BATCH_SIZE); recordReader.nextBatch(); RowBlock block = (RowBlock) recordReader.readBlock(readerType, 0); recordReader.close(); return block; }
reader.close();
reader.close();
reader.close();
@Override public void close() { // some hive input formats are broken and bad things can happen if you close them multiple times if (closed) { return; } closed = true; try { recordReader.close(); } catch (IOException e) { throw Throwables.propagate(e); } }
@Override public void close() { closed = true; try { recordReader.close(); } catch (IOException e) { throw new PrestoException(RAPTOR_ERROR, e); } }
recordReader.close();
private RowBlock read(TempFile tempFile, Type readerType) throws IOException { DataSize dataSize = new DataSize(1, MEGABYTE); OrcDataSource orcDataSource = new FileOrcDataSource(tempFile.getFile(), dataSize, dataSize, dataSize, true); OrcReader orcReader = new OrcReader(orcDataSource, ORC, dataSize, dataSize, dataSize, dataSize); Map<Integer, Type> includedColumns = new HashMap<>(); includedColumns.put(0, readerType); OrcRecordReader recordReader = orcReader.createRecordReader(includedColumns, OrcPredicate.TRUE, UTC, newSimpleAggregatedMemoryContext(), OrcReader.INITIAL_BATCH_SIZE); recordReader.nextBatch(); RowBlock block = (RowBlock) recordReader.readBlock(readerType, 0); recordReader.close(); return block; }
@Test public void testEntireFile() throws Exception { try (TempFile tempFile = new TempFile("test", "orc")) { createMultiStripeFile(tempFile.getFile()); OrcRecordReader reader = createCustomOrcRecordReader(tempFile, new OrcMetadataReader(), OrcPredicate.TRUE, BIGINT); assertEquals(reader.getReaderRowCount(), 100); assertEquals(reader.getReaderPosition(), 0); assertEquals(reader.getFileRowCount(), reader.getReaderRowCount()); assertEquals(reader.getFilePosition(), reader.getReaderPosition()); for (int i = 0; i < 5; i++) { assertEquals(reader.nextBatch(), 20); assertEquals(reader.getReaderPosition(), i * 20L); assertEquals(reader.getFilePosition(), reader.getReaderPosition()); assertCurrentBatch(reader, i); } assertEquals(reader.nextBatch(), -1); assertEquals(reader.getReaderPosition(), 100); assertEquals(reader.getFilePosition(), reader.getReaderPosition()); reader.close(); } }
assertEquals(reader.getReaderPosition(), 40); assertEquals(reader.getFilePosition(), 100); reader.close();