wuwenchi commented on code in PR #8300:
URL: https://github.com/apache/hudi/pull/8300#discussion_r1159425077
##########
hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDCustomColumnsSortPartitioner.java:
##########
@@ -59,17 +62,17 @@ public JavaRDD<HoodieRecord<T>>
repartitionRecords(JavaRDD<HoodieRecord<T>> reco
final String[] sortColumns = this.sortColumnNames;
final SerializableSchema schema = this.serializableSchema;
final boolean consistentLogicalTimestampEnabled =
this.consistentLogicalTimestampEnabled;
- return records.sortBy(
- record -> {
- Object recordValue = record.getColumnValues(schema.get(),
sortColumns, consistentLogicalTimestampEnabled);
- // null values are replaced with empty string for null_first order
- if (recordValue == null) {
- return StringUtils.EMPTY_STRING;
- } else {
- return StringUtils.objToString(recordValue);
- }
- },
Review Comment:
Because more than one field may be sorted, users may need to sort multiple
fields. But line 69 here can only return the contents of the first field at
most.
This was changed to tuple so that we can use a custom sort function that can
extract multiple field values from record and then sort multiple fields.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]