Package org.apache.orc.impl.writer
Class StringBaseTreeWriter
java.lang.Object
org.apache.orc.impl.writer.TreeWriterBase
org.apache.orc.impl.writer.StringBaseTreeWriter
- All Implemented Interfaces:
TreeWriter
- Direct Known Subclasses:
CharTreeWriter
,StringTreeWriter
,VarcharTreeWriter
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.orc.impl.writer.TreeWriter
TreeWriter.Factory
-
Field Summary
Modifier and TypeFieldDescriptionprotected Dictionary
protected final PositionedOutputStream
protected final IntegerWriter
protected final DynamicIntArray
protected boolean
Fields inherited from class org.apache.orc.impl.writer.TreeWriterBase
bloomFilter, bloomFilterEntry, bloomFilterUtf8, context, createBloomFilter, encryption, fileStatistics, id, indexStatistics, isPresent, rowIndexPosition, schema, stripeColStatistics
-
Method Summary
Modifier and TypeMethodDescriptionvoid
This method doesn't call the super method, because unlike most of the other TreeWriters, this one can't record the position in the streams until the stripe is being flushed.long
Estimate how much memory the writer is consuming excluding the streams.void
Flush the TreeWriter streamlong
Estimate the memory used if the file was read into Hive's Writable types.void
prepareStripe
(int stripeId) Set up for the next stripe.void
writeStripe
(int requiredIndexEntries) Write the stripe out to the file.Methods inherited from class org.apache.orc.impl.writer.TreeWriterBase
addStripeStatistics, getCurrentStatistics, getRowIndex, getRowIndexEntry, getStripeStatistics, writeBatch, writeFileStatistics, writeRootBatch
-
Field Details
-
lengthOutput
-
rows
-
directStreamOutput
-
dictionary
-
useDictionaryEncoding
protected boolean useDictionaryEncoding
-
-
Method Details
-
writeStripe
Description copied from interface:TreeWriter
Write the stripe out to the file.- Specified by:
writeStripe
in interfaceTreeWriter
- Overrides:
writeStripe
in classTreeWriterBase
- Parameters:
requiredIndexEntries
- the number of index entries that are required. this is to check to make sure the row index is well formed.- Throws:
IOException
-
createRowIndexEntry
This method doesn't call the super method, because unlike most of the other TreeWriters, this one can't record the position in the streams until the stripe is being flushed. Therefore it saves all of the entries and augments them with the final information as the stripe is written.- Specified by:
createRowIndexEntry
in interfaceTreeWriter
- Overrides:
createRowIndexEntry
in classTreeWriterBase
- Throws:
IOException
-
estimateMemory
public long estimateMemory()Description copied from class:TreeWriterBase
Estimate how much memory the writer is consuming excluding the streams.- Specified by:
estimateMemory
in interfaceTreeWriter
- Overrides:
estimateMemory
in classTreeWriterBase
- Returns:
- the number of bytes.
-
getRawDataSize
public long getRawDataSize()Description copied from interface:TreeWriter
Estimate the memory used if the file was read into Hive's Writable types. This is used as an estimate for the query optimizer.- Returns:
- the number of bytes
-
flushStreams
Description copied from interface:TreeWriter
Flush the TreeWriter stream- Specified by:
flushStreams
in interfaceTreeWriter
- Overrides:
flushStreams
in classTreeWriterBase
- Throws:
IOException
-
prepareStripe
public void prepareStripe(int stripeId) Description copied from interface:TreeWriter
Set up for the next stripe.- Specified by:
prepareStripe
in interfaceTreeWriter
- Overrides:
prepareStripe
in classTreeWriterBase
- Parameters:
stripeId
- the next stripe id
-