[ 
https://issues.apache.org/jira/browse/TEZ-1228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rajesh Balamohan updated TEZ-1228:
----------------------------------

    Attachment: TEZ-1228.WIP.1.patch

For usecases where lots of unique KV pairs are available, having V_END_MARKER 
for every KV pair could be space consuming. To cater to such usecases as well,

1. First distinct KV pair would be written as as {KL, VL, K, V}
2. If consecutive key is same as previous one, RLE marker would be added 
followed by values & V_END_MARKER. E.g {K1,V1}, {K1,V2}, {K1, V3}, {K2,V1} 
would be writtten as 
({KL1, VL1, K1, V1} {RLE, VL2, V2, VL3, V3, V_END_MARKER} {KL2, VL1, K2, V1})

Uploading the WIP patch for early reviews.


> Prototype IFile : Define a memory & merge optimized vertex-intermediate file 
> format for Tez
> -------------------------------------------------------------------------------------------
>
>                 Key: TEZ-1228
>                 URL: https://issues.apache.org/jira/browse/TEZ-1228
>             Project: Apache Tez
>          Issue Type: Improvement
>            Reporter: Rajesh Balamohan
>              Labels: perfomance
>         Attachments: TEZ-1228-IFile.pdf, TEZ-1228.WIP.1.patch
>
>
> The current vertex-intermediate format used all across Tez is a flat file of 
> variable length k,v pairs. For a significant number of use-cases, in 
> particular the sorted output phase, a large number of consecutive  identical 
> keys are found within the same stream. The IFile format ends up writing each 
> key out fully into the stream to generate (K,V) pairs instead of ordering it 
> into a more efficient K, {V1, .. Vn} list.
> This duplication of key data needs larger buffers to hold in memory and 
> requires comparison between keys known to be identical while doing a merge 
> sort.
> This bug tracks the building of a prototype IFile format which is optimized 
> for lower uncompressed sizes within memory buffers and less compute intensive 
> to perform merge sorts during the reducer phase.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to