@NotThreadSafe public class HoodieMergeHandle<T extends HoodieRecordPayload,I,K,O> extends HoodieWriteHandle<T,I,K,O>
| Modifier and Type | Field and Description |
|---|---|
protected HoodieFileWriter<org.apache.avro.generic.IndexedRecord> |
fileWriter |
protected long |
insertRecordsWritten |
protected Option<BaseKeyGenerator> |
keyGeneratorOpt |
protected Map<String,HoodieRecord<T>> |
keyToNewRecords |
protected org.apache.hadoop.fs.Path |
newFilePath |
protected org.apache.hadoop.fs.Path |
oldFilePath |
protected long |
recordsDeleted |
protected long |
recordsWritten |
protected long |
updatedRecordsWritten |
protected boolean |
useWriterSchemaForCompaction |
protected Set<String> |
writtenRecordKeys |
fileId, IGNORE_RECORD, partitionPath, schemaOnReadEnabled, tableSchema, tableSchemaWithMetaFields, taskContextSupplier, timer, writeSchema, writeSchemaWithMetaFields, writeStatus, writeTokenconfig, fs, hoodieTable, instantTime| Constructor and Description |
|---|
HoodieMergeHandle(HoodieWriteConfig config,
String instantTime,
HoodieTable<T,I,K,O> hoodieTable,
Iterator<HoodieRecord<T>> recordItr,
String partitionPath,
String fileId,
TaskContextSupplier taskContextSupplier,
HoodieBaseFile baseFile,
Option<BaseKeyGenerator> keyGeneratorOpt) |
HoodieMergeHandle(HoodieWriteConfig config,
String instantTime,
HoodieTable<T,I,K,O> hoodieTable,
Iterator<HoodieRecord<T>> recordItr,
String partitionPath,
String fileId,
TaskContextSupplier taskContextSupplier,
Option<BaseKeyGenerator> keyGeneratorOpt) |
HoodieMergeHandle(HoodieWriteConfig config,
String instantTime,
HoodieTable<T,I,K,O> hoodieTable,
Map<String,HoodieRecord<T>> keyToNewRecords,
String partitionPath,
String fileId,
HoodieBaseFile dataFileToBeMerged,
TaskContextSupplier taskContextSupplier,
Option<BaseKeyGenerator> keyGeneratorOpt)
Called by compactor code path.
|
| Modifier and Type | Method and Description |
|---|---|
HoodieBaseFile |
baseFileForMerge() |
List<WriteStatus> |
close() |
IOType |
getIOType() |
org.apache.hadoop.fs.Path |
getOldFilePath() |
org.apache.avro.Schema |
getWriterSchema() |
org.apache.avro.Schema |
getWriterSchemaWithMetaFields() |
protected void |
init(String fileId,
Iterator<HoodieRecord<T>> newRecordsItr)
Load the new incoming records in a map and return partitionPath.
|
protected void |
initializeIncomingRecordsMap()
Initialize a spillable map for incoming records.
|
protected void |
makeOldAndNewFilePaths(String partitionPath,
String oldFileName,
String newFileName) |
void |
performMergeDataValidationCheck(WriteStatus writeStatus) |
protected void |
setWriteStatusPath() |
void |
write(org.apache.avro.generic.GenericRecord oldRecord)
Go through an old record.
|
protected void |
writeIncomingRecords() |
protected void |
writeInsertRecord(HoodieRecord<T> hoodieRecord) |
protected boolean |
writeRecord(HoodieRecord<T> hoodieRecord,
Option<org.apache.avro.generic.IndexedRecord> indexedRecord) |
protected boolean |
writeRecord(HoodieRecord<T> hoodieRecord,
Option<org.apache.avro.generic.IndexedRecord> indexedRecord,
boolean isDelete) |
protected void |
writeToFile(HoodieKey key,
org.apache.avro.generic.GenericRecord avroRecord,
boolean shouldPreserveRecordMetadata) |
canWrite, createMarkerFile, createNewFileWriter, getAttemptId, getFileSystem, getPartitionId, getPartitionPath, getStageId, makeNewFilePath, makeNewPath, rewriteRecord, rewriteRecordWithMetadata, write, write, writeStatusesprotected Map<String,HoodieRecord<T extends HoodieRecordPayload>> keyToNewRecords
protected HoodieFileWriter<org.apache.avro.generic.IndexedRecord> fileWriter
protected org.apache.hadoop.fs.Path newFilePath
protected org.apache.hadoop.fs.Path oldFilePath
protected long recordsWritten
protected long recordsDeleted
protected long updatedRecordsWritten
protected long insertRecordsWritten
protected boolean useWriterSchemaForCompaction
protected Option<BaseKeyGenerator> keyGeneratorOpt
public HoodieMergeHandle(HoodieWriteConfig config, String instantTime, HoodieTable<T,I,K,O> hoodieTable, Iterator<HoodieRecord<T>> recordItr, String partitionPath, String fileId, TaskContextSupplier taskContextSupplier, Option<BaseKeyGenerator> keyGeneratorOpt)
public HoodieMergeHandle(HoodieWriteConfig config, String instantTime, HoodieTable<T,I,K,O> hoodieTable, Iterator<HoodieRecord<T>> recordItr, String partitionPath, String fileId, TaskContextSupplier taskContextSupplier, HoodieBaseFile baseFile, Option<BaseKeyGenerator> keyGeneratorOpt)
public HoodieMergeHandle(HoodieWriteConfig config, String instantTime, HoodieTable<T,I,K,O> hoodieTable, Map<String,HoodieRecord<T>> keyToNewRecords, String partitionPath, String fileId, HoodieBaseFile dataFileToBeMerged, TaskContextSupplier taskContextSupplier, Option<BaseKeyGenerator> keyGeneratorOpt)
public org.apache.avro.Schema getWriterSchemaWithMetaFields()
getWriterSchemaWithMetaFields in class HoodieWriteHandle<T extends HoodieRecordPayload,I,K,O>public org.apache.avro.Schema getWriterSchema()
protected void setWriteStatusPath()
protected void makeOldAndNewFilePaths(String partitionPath, String oldFileName, String newFileName)
protected void initializeIncomingRecordsMap()
protected void init(String fileId, Iterator<HoodieRecord<T>> newRecordsItr)
protected void writeInsertRecord(HoodieRecord<T> hoodieRecord) throws IOException
IOExceptionprotected boolean writeRecord(HoodieRecord<T> hoodieRecord, Option<org.apache.avro.generic.IndexedRecord> indexedRecord)
protected boolean writeRecord(HoodieRecord<T> hoodieRecord, Option<org.apache.avro.generic.IndexedRecord> indexedRecord, boolean isDelete)
public void write(org.apache.avro.generic.GenericRecord oldRecord)
protected void writeToFile(HoodieKey key, org.apache.avro.generic.GenericRecord avroRecord, boolean shouldPreserveRecordMetadata) throws IOException
IOExceptionprotected void writeIncomingRecords()
throws IOException
IOExceptionpublic List<WriteStatus> close()
close in class HoodieWriteHandle<T extends HoodieRecordPayload,I,K,O>public void performMergeDataValidationCheck(WriteStatus writeStatus)
public org.apache.hadoop.fs.Path getOldFilePath()
public IOType getIOType()
getIOType in class HoodieWriteHandle<T extends HoodieRecordPayload,I,K,O>public HoodieBaseFile baseFileForMerge()
Copyright © 2022 The Apache Software Foundation. All rights reserved.