public class AvroBulkWriter<T> extends Object implements BulkWriter<T>
BulkWriter
implementation that wraps an Avro DataFileWriter
.BulkWriter.Factory<T>
Constructor and Description |
---|
AvroBulkWriter(org.apache.avro.file.DataFileWriter<T> dataFileWriter)
Create a new AvroBulkWriter wrapping the given Avro
DataFileWriter . |
Modifier and Type | Method and Description |
---|---|
void |
addElement(T element)
Adds an element to the encoder.
|
void |
finish()
Finishes the writing.
|
void |
flush()
Flushes all intermediate buffered data to the output stream.
|
public AvroBulkWriter(org.apache.avro.file.DataFileWriter<T> dataFileWriter)
DataFileWriter
.dataFileWriter
- The underlying Avro writer.public void addElement(T element) throws IOException
BulkWriter
It may be that adding this element fills up an internal buffer and causes the encoding and flushing of a batch of internally buffered elements.
addElement
in interface BulkWriter<T>
element
- The element to add.IOException
- Thrown, if the element cannot be added to the encoder, or if the output
stream throws an exception.public void flush() throws IOException
BulkWriter
flush
in interface BulkWriter<T>
IOException
- Thrown if the encoder cannot be flushed, or if the output stream throws
an exception.public void finish() throws IOException
BulkWriter
The writer is not expected to handle any more records via BulkWriter.addElement(Object)
after this method is called.
Important: This method MUST NOT close the stream that the writer writes to. Closing the stream is expected to happen through the invoker of this method afterwards.
finish
in interface BulkWriter<T>
IOException
- Thrown if the finalization fails.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.