public class StripePlanner extends Object
Modifier and Type | Class and Description |
---|---|
static class |
StripePlanner.StreamInformation |
Constructor and Description |
---|
StripePlanner(StripePlanner old) |
StripePlanner(TypeDescription schema,
ReaderEncryption encryption,
DataReader dataReader,
OrcFile.WriterVersion version,
boolean ignoreNonUtf8BloomFilter,
long maxBufferSize) |
StripePlanner(TypeDescription schema,
ReaderEncryption encryption,
DataReader dataReader,
OrcFile.WriterVersion version,
boolean ignoreNonUtf8BloomFilter,
long maxBufferSize,
Set<Integer> filterColIds)
Create a stripe parser.
|
Modifier and Type | Method and Description |
---|---|
void |
clearStreams()
Release all of the buffers for the current stripe.
|
OrcProto.ColumnEncoding |
getEncoding(int column) |
InStream |
getStream(StreamName name)
Get the stream for the given name.
|
String |
getWriterTimezone() |
StripePlanner |
parseStripe(StripeInformation stripe,
boolean[] columnInclude)
Parse a new stripe.
|
BufferChunkList |
readData(OrcIndex index,
boolean[] rowGroupInclude,
boolean forceDirect,
TypeReader.ReadPhase readPhase)
Read the stripe data from the file.
|
BufferChunkList |
readFollowData(OrcIndex index,
boolean[] rowGroupInclude,
int rgIdx,
boolean forceDirect) |
OrcIndex |
readRowIndex(boolean[] sargColumns,
OrcIndex output)
Read and parse the indexes for the current stripe.
|
public StripePlanner(TypeDescription schema, ReaderEncryption encryption, DataReader dataReader, OrcFile.WriterVersion version, boolean ignoreNonUtf8BloomFilter, long maxBufferSize, Set<Integer> filterColIds)
schema
- the file schemaencryption
- the encryption informationdataReader
- the underlying data readerversion
- the file writer versionignoreNonUtf8BloomFilter
- ignore old non-utf8 bloom filtersmaxBufferSize
- the largest single buffer to usefilterColIds
- Column Ids that identify the filter columnspublic StripePlanner(TypeDescription schema, ReaderEncryption encryption, DataReader dataReader, OrcFile.WriterVersion version, boolean ignoreNonUtf8BloomFilter, long maxBufferSize)
public StripePlanner(StripePlanner old)
public StripePlanner parseStripe(StripeInformation stripe, boolean[] columnInclude) throws IOException
stripe
- the new stripecolumnInclude
- an array with true for each column to readIOException
public BufferChunkList readData(OrcIndex index, boolean[] rowGroupInclude, boolean forceDirect, TypeReader.ReadPhase readPhase) throws IOException
index
- null for no row filters or the index for filteringrowGroupInclude
- null for all of the rows or an array with boolean
for each row group in the current stripe.forceDirect
- should direct buffers be created?readPhase
- influences the columns that are read e.g. if readPhase = LEADERS then only
the data required for FILTER columns is readIOException
public BufferChunkList readFollowData(OrcIndex index, boolean[] rowGroupInclude, int rgIdx, boolean forceDirect) throws IOException
IOException
public String getWriterTimezone()
public InStream getStream(StreamName name) throws IOException
name
- the column/kind of the streamIOException
public void clearStreams()
public OrcProto.ColumnEncoding getEncoding(int column)
public OrcIndex readRowIndex(boolean[] sargColumns, OrcIndex output) throws IOException
sargColumns
- the columns we can use bloom filters foroutput
- an OrcIndex to reuseIOException
Copyright © 2013–2022 The Apache Software Foundation. All rights reserved.