hudi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <>
Subject [GitHub] [incubator-hudi] nsivabalan commented on a change in pull request #1187: [HUDI-499] Allow update partition path with GLOBAL_BLOOM
Date Wed, 22 Jan 2020 13:40:04 GMT
nsivabalan commented on a change in pull request #1187: [HUDI-499] Allow update partition path

 File path: hudi-client/src/main/java/org/apache/hudi/index/bloom/
 @@ -114,14 +117,24 @@ public HoodieGlobalBloomIndex(HoodieWriteConfig config) {
         keyLocationPairRDD.mapToPair(p -> new Tuple2<>(p._1.getRecordKey(), new
Tuple2<>(p._2, p._1)));
     // Here as the recordRDD might have more data than rowKeyRDD (some rowKeys' fileId is
null), so we do left outer join.
-    return incomingRowKeyRecordPairRDD.leftOuterJoin(existingRecordKeyToRecordLocationHoodieKeyMap).values().map(record
-> {
+    return incomingRowKeyRecordPairRDD.leftOuterJoin(existingRecordKeyToRecordLocationHoodieKeyMap).values().flatMap(record
-> {
       final HoodieRecord<T> hoodieRecord = record._1;
       final Optional<Tuple2<HoodieRecordLocation, HoodieKey>> recordLocationHoodieKeyPair
= record._2;
       if (recordLocationHoodieKeyPair.isPresent()) {
         // Record key matched to file
-        return getTaggedRecord(new HoodieRecord<>(recordLocationHoodieKeyPair.get()._2,
hoodieRecord.getData()), Option.ofNullable(recordLocationHoodieKeyPair.get()._1));
+        if (config.getGlobalBloomIndexShouldUpdatePartitionPath()
+            && !recordLocationHoodieKeyPair.get()._2.getPartitionPath().equals(hoodieRecord.getPartitionPath()))
+          HoodieRecord<T> emptyRecord = new HoodieRecord(recordLocationHoodieKeyPair.get()._2,
 Review comment:
   can we add a comment here. for eg "If partition path differs from incoming record to those
in index, and if config for partition path update is set to true, 
   a. insert to new partition from incoming record 
   b. delete existing record from existing partition from index".

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.
For queries about this service, please contact Infrastructure at:

With regards,
Apache Git Services

View raw message