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.