public class MergeTreeWriter extends Object implements RecordWriter<KeyValue>, MemoryOwner
RecordWriter to write records and generate CompactIncrement.| Constructor and Description |
|---|
MergeTreeWriter(boolean writeBufferSpillable,
MemorySize maxDiskSize,
int sortMaxFan,
CompressOptions sortCompression,
IOManager ioManager,
CompactManager compactManager,
long maxSequenceNumber,
Comparator<InternalRow> keyComparator,
MergeFunction<KeyValue> mergeFunction,
KeyValueFileWriterFactory writerFactory,
boolean commitForceCompact,
CoreOptions.ChangelogProducer changelogProducer,
CommitIncrement increment,
FieldsComparator userDefinedSeqComparator) |
| Modifier and Type | Method and Description |
|---|---|
void |
addNewFiles(List<DataFileMeta> files)
Add files to the internal
CompactManager. |
void |
close()
Close this writer, the call will delete newly generated but not committed files.
|
void |
compact(boolean fullCompaction)
Compact files related to the writer.
|
Collection<DataFileMeta> |
dataFiles()
Get all data files maintained by this writer.
|
void |
flushMemory()
Flush memory of owner, release memory.
|
boolean |
isCompacting()
Check if a compaction is in progress, or if a compaction result remains to be fetched.
|
long |
maxSequenceNumber()
Get max sequence number of records written by this writer.
|
long |
memoryOccupancy()
Memory occupancy size of this owner.
|
CommitIncrement |
prepareCommit(boolean waitCompaction)
Prepare for a commit.
|
void |
setMemoryPool(MemorySegmentPool memoryPool)
Set
MemorySegmentPool for the owner. |
void |
sync()
Sync the writer.
|
void |
withInsertOnly(boolean insertOnly)
This method is called when the insert only status of the records changes.
|
void |
write(KeyValue kv)
Add a key-value element to the writer.
|
public MergeTreeWriter(boolean writeBufferSpillable,
MemorySize maxDiskSize,
int sortMaxFan,
CompressOptions sortCompression,
IOManager ioManager,
CompactManager compactManager,
long maxSequenceNumber,
Comparator<InternalRow> keyComparator,
MergeFunction<KeyValue> mergeFunction,
KeyValueFileWriterFactory writerFactory,
boolean commitForceCompact,
CoreOptions.ChangelogProducer changelogProducer,
@Nullable
CommitIncrement increment,
@Nullable
FieldsComparator userDefinedSeqComparator)
public void setMemoryPool(MemorySegmentPool memoryPool)
MemoryOwnerMemorySegmentPool for the owner.setMemoryPool in interface MemoryOwnerpublic void write(KeyValue kv) throws Exception
RecordWriterwrite in interface RecordWriter<KeyValue>Exceptionpublic void compact(boolean fullCompaction)
throws Exception
RecordWritercompact in interface RecordWriter<KeyValue>fullCompaction - whether to trigger full compaction or just normal compactionExceptionpublic void addNewFiles(List<DataFileMeta> files)
RecordWriterCompactManager.addNewFiles in interface RecordWriter<KeyValue>files - files to addpublic Collection<DataFileMeta> dataFiles()
RecordWriterdataFiles in interface RecordWriter<KeyValue>public long maxSequenceNumber()
RecordWritermaxSequenceNumber in interface RecordWriter<KeyValue>public long memoryOccupancy()
MemoryOwnermemoryOccupancy in interface MemoryOwnerpublic void flushMemory()
throws Exception
MemoryOwnerflushMemory in interface MemoryOwnerExceptionpublic CommitIncrement prepareCommit(boolean waitCompaction) throws Exception
RecordWriterprepareCommit in interface RecordWriter<KeyValue>waitCompaction - if this method need to wait for current compaction to completeExceptionpublic boolean isCompacting()
RecordWriterisCompacting in interface RecordWriter<KeyValue>public void sync()
throws Exception
RecordWritersync in interface RecordWriter<KeyValue>Exceptionpublic void withInsertOnly(boolean insertOnly)
RecordWriterwithInsertOnly in interface RecordWriter<KeyValue>insertOnly - If true, all the following records would be of RowKind.INSERT, and no two records would have the same primary
key.public void close()
throws Exception
RecordWriterclose in interface RecordWriter<KeyValue>ExceptionCopyright © 2023–2025 The Apache Software Foundation. All rights reserved.