public abstract class AbstractHoodieLogRecordReader extends Object
This results in two I/O passes over the log file.
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractHoodieLogRecordReader.Builder
Builder used to build
AbstractHoodieLogRecordScanner. |
protected static interface |
AbstractHoodieLogRecordReader.KeySpec
Key specification with a list of column names.
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
forceFullScan |
protected HoodieTableMetaClient |
hoodieTableMetaClient |
protected List<String> |
logFilePaths |
protected String |
preCombineField |
protected org.apache.avro.Schema |
readerSchema |
protected HoodieRecordMerger |
recordMerger |
protected HoodieRecord.HoodieRecordType |
recordType |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractHoodieLogRecordReader(HoodieStorage storage,
String basePath,
List<String> logFilePaths,
org.apache.avro.Schema readerSchema,
String latestInstantTime,
boolean reverseReader,
int bufferSize,
Option<InstantRange> instantRange,
boolean withOperationField,
boolean forceFullScan,
Option<String> partitionNameOverride,
InternalSchema internalSchema,
Option<String> keyFieldOverride,
boolean enableOptimizedLogBlocksScan,
HoodieRecordMerger recordMerger,
Option<HoodieTableMetaClient> hoodieTableMetaClientOption) |
| Modifier and Type | Method and Description |
|---|---|
Deque<HoodieLogBlock> |
getCurrentInstantLogBlocks() |
Option<String> |
getPartitionNameOverride() |
protected String |
getPayloadClassFQN() |
protected TypedProperties |
getPayloadProps() |
float |
getProgress()
Return progress of scanning as a float between 0.0 to 1.0.
|
long |
getTotalCorruptBlocks() |
long |
getTotalLogBlocks() |
long |
getTotalLogFiles() |
long |
getTotalLogRecords() |
long |
getTotalRollbacks() |
List<String> |
getValidBlockInstants() |
boolean |
isWithOperationField() |
protected abstract void |
processNextDeletedRecord(DeleteRecord deleteRecord)
Process next deleted record.
|
abstract <T> void |
processNextRecord(HoodieRecord<T> hoodieRecord)
Process next record.
|
protected void |
scanInternal(Option<AbstractHoodieLogRecordReader.KeySpec> keySpecOpt,
boolean skipProcessingBlocks) |
protected final org.apache.avro.Schema readerSchema
protected final HoodieTableMetaClient hoodieTableMetaClient
protected final String preCombineField
protected final HoodieRecordMerger recordMerger
protected final boolean forceFullScan
protected final HoodieRecord.HoodieRecordType recordType
protected AbstractHoodieLogRecordReader(HoodieStorage storage, String basePath, List<String> logFilePaths, org.apache.avro.Schema readerSchema, String latestInstantTime, boolean reverseReader, int bufferSize, Option<InstantRange> instantRange, boolean withOperationField, boolean forceFullScan, Option<String> partitionNameOverride, InternalSchema internalSchema, Option<String> keyFieldOverride, boolean enableOptimizedLogBlocksScan, HoodieRecordMerger recordMerger, Option<HoodieTableMetaClient> hoodieTableMetaClientOption)
protected final void scanInternal(Option<AbstractHoodieLogRecordReader.KeySpec> keySpecOpt, boolean skipProcessingBlocks)
keySpecOpt - specifies target set of keys to be scannedskipProcessingBlocks - controls, whether (delta) blocks have to actually be processedpublic abstract <T> void processNextRecord(HoodieRecord<T> hoodieRecord) throws Exception
hoodieRecord - Hoodie Record to processExceptionprotected abstract void processNextDeletedRecord(DeleteRecord deleteRecord)
deleteRecord - Deleted record(hoodie key and ordering value)public float getProgress()
public long getTotalLogFiles()
public long getTotalLogRecords()
public long getTotalLogBlocks()
protected String getPayloadClassFQN()
public long getTotalRollbacks()
public long getTotalCorruptBlocks()
public boolean isWithOperationField()
protected TypedProperties getPayloadProps()
public Deque<HoodieLogBlock> getCurrentInstantLogBlocks()
Copyright © 2024 The Apache Software Foundation. All rights reserved.