T - payload implementation.public class HoodieAvroRecord<T extends HoodieRecordPayload> extends HoodieRecord<T>
HoodieRecord using Avro payload.HoodieRecord.HoodieMetadataField, HoodieRecord.HoodieRecordTypeCOMMIT_SEQNO_METADATA_FIELD, COMMIT_SEQNO_METADATA_FIELD_ORD, COMMIT_TIME_METADATA_FIELD, COMMIT_TIME_METADATA_FIELD_ORD, currentLocation, data, FILENAME_META_FIELD_ORD, FILENAME_METADATA_FIELD, HOODIE_IS_DELETED_FIELD, HOODIE_META_COLUMNS, HOODIE_META_COLUMNS_NAME_TO_POS, HOODIE_META_COLUMNS_WITH_OPERATION, ignoreIndexUpdate, key, metaData, newLocation, operation, OPERATION_METADATA_FIELD, PARTITION_PATH_META_FIELD_ORD, PARTITION_PATH_METADATA_FIELD, RECORD_KEY_META_FIELD_ORD, RECORD_KEY_METADATA_FIELD, SENTINEL| Constructor and Description |
|---|
HoodieAvroRecord() |
HoodieAvroRecord(HoodieKey key,
T data) |
HoodieAvroRecord(HoodieKey key,
T data,
HoodieOperation operation) |
HoodieAvroRecord(HoodieKey key,
T data,
HoodieOperation operation,
HoodieRecordLocation currentLocation,
HoodieRecordLocation newLocation) |
HoodieAvroRecord(HoodieRecord<T> record) |
| Modifier and Type | Method and Description |
|---|---|
HoodieRecord<T> |
copy()
This is used to copy data.
|
Object[] |
getColumnValues(org.apache.avro.Schema recordSchema,
String[] columns,
boolean consistentLogicalTimestampEnabled)
Get column in record to support RDDCustomColumnsSortPartitioner
|
T |
getData() |
Option<Map<String,String>> |
getMetadata() |
Comparable<?> |
getOrderingValue(org.apache.avro.Schema recordSchema,
Properties props) |
String |
getRecordKey(org.apache.avro.Schema recordSchema,
Option<BaseKeyGenerator> keyGeneratorOpt) |
String |
getRecordKey(org.apache.avro.Schema recordSchema,
String keyFieldName) |
HoodieRecord.HoodieRecordType |
getRecordType() |
boolean |
isDelete(org.apache.avro.Schema recordSchema,
Properties props) |
HoodieRecord |
joinWith(HoodieRecord other,
org.apache.avro.Schema targetSchema)
Support bootstrap.
|
HoodieRecord<T> |
newInstance() |
HoodieRecord<T> |
newInstance(HoodieKey key) |
HoodieRecord<T> |
newInstance(HoodieKey key,
HoodieOperation op) |
HoodieRecord |
prependMetaFields(org.apache.avro.Schema recordSchema,
org.apache.avro.Schema targetSchema,
MetadataValues metadataValues,
Properties props)
Rewrites record into new target schema containing Hudi-specific meta-fields
NOTE: This operation is idempotent
|
protected T |
readRecordPayload(com.esotericsoftware.kryo.Kryo kryo,
com.esotericsoftware.kryo.io.Input input) |
HoodieRecord |
rewriteRecordWithNewSchema(org.apache.avro.Schema recordSchema,
Properties props,
org.apache.avro.Schema newSchema,
Map<String,String> renameCols)
Support schema evolution.
|
boolean |
shouldIgnore(org.apache.avro.Schema recordSchema,
Properties props)
Is EmptyRecord.
|
Option<HoodieAvroIndexedRecord> |
toIndexedRecord(org.apache.avro.Schema recordSchema,
Properties props) |
HoodieRecord |
truncateRecordKey(org.apache.avro.Schema recordSchema,
Properties props,
String keyFieldName)
This method used to overwrite record key field.
|
HoodieRecord |
wrapIntoHoodieRecordPayloadWithKeyGen(org.apache.avro.Schema recordSchema,
Properties props,
Option<BaseKeyGenerator> keyGen)
This method used to extract HoodieKey through keyGenerator.
|
HoodieRecord |
wrapIntoHoodieRecordPayloadWithParams(org.apache.avro.Schema recordSchema,
Properties props,
Option<Pair<String,String>> simpleKeyGenFieldsOpt,
Boolean withOperation,
Option<String> partitionNameOp,
Boolean populateMetaFields,
Option<org.apache.avro.Schema> schemaWithoutMetaFields)
This method used to extract HoodieKey not through keyGenerator.
|
protected void |
writeRecordPayload(T payload,
com.esotericsoftware.kryo.Kryo kryo,
com.esotericsoftware.kryo.io.Output output) |
checkState, clearNewLocation, deflate, equals, generateSequenceId, getCurrentLocation, getCurrentPosition, getIgnoreIndexUpdate, getKey, getNewLocation, getOperation, getPartitionPath, getRecordKey, hashCode, hasMetaFields, isCurrentLocationKnown, read, rewriteRecordWithNewSchema, seal, setCurrentLocation, setIgnoreIndexUpdate, setNewLocation, toString, unseal, writepublic HoodieAvroRecord(HoodieKey key, T data, HoodieOperation operation)
public HoodieAvroRecord(HoodieRecord<T> record)
public HoodieAvroRecord(HoodieKey key, T data, HoodieOperation operation, HoodieRecordLocation currentLocation, HoodieRecordLocation newLocation)
public HoodieAvroRecord()
public HoodieRecord<T> newInstance()
newInstance in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord<T> newInstance(HoodieKey key, HoodieOperation op)
newInstance in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord<T> newInstance(HoodieKey key)
newInstance in class HoodieRecord<T extends HoodieRecordPayload>public T getData()
getData in class HoodieRecord<T extends HoodieRecordPayload>public Comparable<?> getOrderingValue(org.apache.avro.Schema recordSchema, Properties props)
getOrderingValue in class HoodieRecord<T extends HoodieRecordPayload>public String getRecordKey(org.apache.avro.Schema recordSchema, Option<BaseKeyGenerator> keyGeneratorOpt)
getRecordKey in class HoodieRecord<T extends HoodieRecordPayload>public String getRecordKey(org.apache.avro.Schema recordSchema, String keyFieldName)
getRecordKey in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord.HoodieRecordType getRecordType()
getRecordType in class HoodieRecord<T extends HoodieRecordPayload>public Object[] getColumnValues(org.apache.avro.Schema recordSchema, String[] columns, boolean consistentLogicalTimestampEnabled)
HoodieRecordgetColumnValues in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord joinWith(HoodieRecord other, org.apache.avro.Schema targetSchema)
HoodieRecordjoinWith in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord prependMetaFields(org.apache.avro.Schema recordSchema, org.apache.avro.Schema targetSchema, MetadataValues metadataValues, Properties props)
HoodieRecordprependMetaFields in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord rewriteRecordWithNewSchema(org.apache.avro.Schema recordSchema, Properties props, org.apache.avro.Schema newSchema, Map<String,String> renameCols)
HoodieRecordrewriteRecordWithNewSchema in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord truncateRecordKey(org.apache.avro.Schema recordSchema, Properties props, String keyFieldName) throws IOException
HoodieRecordCompatibilityInterfaceIOExceptionpublic boolean isDelete(org.apache.avro.Schema recordSchema,
Properties props)
throws IOException
isDelete in class HoodieRecord<T extends HoodieRecordPayload>IOExceptionpublic boolean shouldIgnore(org.apache.avro.Schema recordSchema,
Properties props)
throws IOException
HoodieRecordshouldIgnore in class HoodieRecord<T extends HoodieRecordPayload>IOExceptionpublic HoodieRecord<T> copy()
HoodieRecordcopy in class HoodieRecord<T extends HoodieRecordPayload>public HoodieRecord wrapIntoHoodieRecordPayloadWithParams(org.apache.avro.Schema recordSchema, Properties props, Option<Pair<String,String>> simpleKeyGenFieldsOpt, Boolean withOperation, Option<String> partitionNameOp, Boolean populateMetaFields, Option<org.apache.avro.Schema> schemaWithoutMetaFields) throws IOException
HoodieRecordCompatibilityInterfaceIOExceptionpublic HoodieRecord wrapIntoHoodieRecordPayloadWithKeyGen(org.apache.avro.Schema recordSchema, Properties props, Option<BaseKeyGenerator> keyGen)
HoodieRecordCompatibilityInterfacepublic Option<Map<String,String>> getMetadata()
getMetadata in class HoodieRecord<T extends HoodieRecordPayload>public Option<HoodieAvroIndexedRecord> toIndexedRecord(org.apache.avro.Schema recordSchema, Properties props) throws IOException
IOExceptionprotected final void writeRecordPayload(T payload, com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output)
writeRecordPayload in class HoodieRecord<T extends HoodieRecordPayload>protected final T readRecordPayload(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input)
readRecordPayload in class HoodieRecord<T extends HoodieRecordPayload>Copyright © 2024 The Apache Software Foundation. All rights reserved.