public class StripePlanner extends Object
It supports:
| 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 readIOExceptionpublic 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 readIOExceptionpublic BufferChunkList readFollowData(OrcIndex index, boolean[] rowGroupInclude, int rgIdx, boolean forceDirect) throws IOException
IOExceptionpublic String getWriterTimezone()
public InStream getStream(StreamName name) throws IOException
name - the column/kind of the streamIOExceptionpublic 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 reuseIOExceptionCopyright © 2013–2023 The Apache Software Foundation. All rights reserved.