Hi all,

We have a feature propose for improving MOR table read performance to any 
payload.

Background

In HUDI-3217, Alexey added column prune support in HoodieMergeOnReadRDD, which 
is really nice feature. It can speed up MOR _rt table query significantly.

However, this performance improvement is limited by a 
whitelistedPayloadClasses, so column prune is only supported in 
OverwriteWithLatestAvroPayload. If we implemented any other payload class, it 
can't utilise this feature.


Propose

After studying about this feature in HoodieMergeOnReadRDD implemented by 
Alexey, we added 2 new methods in the interface HoodieRecordPayload to tell 
HoodieMergeOnReadRDD if a payload class can be applied column prune, and if 
there is any extra column for doing merge.
We have implemented this feature in Spark side, and also started the dev work 
for supporting it in Trino.

Code reference: https://gist.github.com/TengHuo/48068bf1810ed771b388862271e53266


Related issues

https://issues.apache.org/jira/browse/HUDI-3217
[HUDI-3217] RFC-46: Optimize Record Payload handling - ASF 
JIRA<https://issues.apache.org/jira/browse/HUDI-3217>
Apache Hudi; HUDI-3217; RFC-46: Optimize Record Payload handling. Log In. Export
issues.apache.org
https://issues.apache.org/jira/browse/HUDI-5158
[HUDI-5158] Add column pruning support to any payload - ASF 
JIRA<https://issues.apache.org/jira/browse/HUDI-5158>
In HoodieMergeOnReadRDD, Alexey added column prune support in PR #4888, which 
is nice, it can speed up MOR _rt table query significantly. However, this 
performance improvement is limited by a whitelistedPayloadClasses , so column 
prune is only supported in OverwriteWithLatestAvroPayload .If we implemented 
any other payload class, it can't utilise this feature.
issues.apache.org


We plan to share this feature to Hudi community once completed. May I ask if 
there is any suggestion about this feature? Really appreciate

Reply via email to