Skip to content

Code cleanup: HFileDataBock - using integer keys is never used  #14942

@hudi-bot

Description

@hudi-bot

KeyField can never be empty for File. If so, there is really no need for falling back to sequential integer keys in the HFileDataBlock::serializeRecords() code path.

 
{noformat}
// Build the record key
final Field schemaKeyField = records.get(0).getSchema().getField(this.keyField);
if (schemaKeyField == null) {
// Missing key metadata field. Use an integer sequence key instead.
useIntegerKey = true;
keySize = (int) Math.ceil(Math.log(records.size())) + 1;
}

while (itr.hasNext()) {
IndexedRecord record = itr.next();
String recordKey;
if (useIntegerKey) {
recordKey = String.format("%" + keySize + "s", key++);
} else {
recordKey = record.get(schemaKeyField.pos()).toString();
}

{noformat}

JIRA info

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions