abstractdog commented on PR #6780:
URL: https://github.com/apache/hive/pull/6780#issuecomment-5678734768

   Update on this branch: even with the batch-shaped encode path enabled by 
default and split-boundary tuning applied (tez.grouping.min-size = max-size = 
32 MB, split-waves = 1.0), the LLAP SerDe cache doesn't get us to non-cached 
performance for TPC-DS 10TB Q1 on Parquet.
   
   Our perf measurements run 3 iterations; over those 3 runs the Q1 cache hit 
ratio climbs from 33 % → 42 % → 50 % (was plateauing at ~44 % before the 
split-size fix). The ratio keeps climbing beyond that if more iterations are 
run, but never approaches 100 % because:
   
   1. Q1's self-join over store_returns generates two independent scans; each 
has its own DPP + Tez grouping pass, so the two scans produce different 
(offset, length) tuples per file. HostAffinitySplitLocationProvider then routes 
them to different daemons and neither daemon can serve both.
   2. HostAffinitySplitLocationProvider is a soft preference — under 
executor-slot contention (800 concurrent tasks vs 120 slots) some tasks are 
displaced, admitting stripes on the wrong daemon that later requests never find.
   
   At the 50 % hit rate we see after 3 iterations, end-to-end Q1 latency 
doesn't match a plain non-cached read from S3. The encode/decode overhead on 
this path eats the gain from the hits. Parking this — no more time on the 
SerDe-encode path for Parquet.
   
   This can go in to simply fix a silent correctness problem.


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to