Repost the benchmark result via google doc: 
https://docs.google.com/spreadsheets/d/1PdXgihhUin5PbPVL4CB8_TVSvCY2bhzFUcL7mC_75WU/edit#gid=0
 

Thanks
Ferdinand Xu


-----Original Message-----
From: Gopal Vijayaraghavan [mailto:gop...@apache.org] 
Sent: Monday, March 26, 2018 2:47 PM
To: dev@orc.apache.org
Cc: u...@orc.apache.org
Subject: Re: ORC double encoding optimization proposal


>    2. Under seek or predicate pushdown scenario, there’s no need to load the 
> entire stream.
 
Yes, that is a valid scenario where the reader reads partial-streams & causes 
random IO.

The current double encoding is actually 2 streams today & will continue to use 
2 streams for the FLIP implementation.

The SPLIT implementation will go from the current 2 streams to 4 streams (i.e 
1+1->1+3 streams) & the total data IO will drop by ~2x or so. More so if one of 
the streams can be suppressed (like in my IoT data-set, where the sign-bit is 
always +ve for my electric meter data).

The trade-offs seem to be working out on regular HDDs with locality & for LLAP 
SSD caches - if your use-cases are different, I'd like to hear more about it.

The only significant random IO delays expected seem to be entirely within the 
HDFS API network hops (which offers 0% locality when data is erasure coded or 
for cloud-storage), which I hope to fix in the Hadoop-3.x branch with a new API.

Cheers,
Gopal


Reply via email to