Thanks. nishith agarwal <[email protected]> 于2019年2月27日周三 下午3:44写道:
> Thanks for pointing that out Kaka, I think HoodieAvroPayload is assigned to > be the default class hence the confusion. > > You could implement your own payload class to achieve this or take a look > at > > https://github.com/uber/hudi/blob/master/hoodie-spark/src/main/java/com/uber/hoodie/OverwriteWithLatestAvroPayload.java > . > > -Nishith > > On Tue, Feb 26, 2019 at 11:17 PM kaka chen <[email protected]> wrote: > > > Hi All, > > On MergeOnRead mode, when a record update more than once in a parttition, > > it does not work. > > I found It used HoodieAvroPayload, which is the default class of > > "hoodie.compaction.payload.class", which preCombine method only return > > this. > > > > @Override > > public HoodieAvroPayload preCombine(HoodieAvroPayload another) { > > return this; > > } > > > > So it will only return first update record on the log file. > > As expected, it should return most recent update record. > > > > Thanks, > > Kaka Chen > > >
