[
https://issues.apache.org/jira/browse/TEZ-2442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
shanyu zhao updated TEZ-2442:
-----------------------------
Attachment: tez_hdfs_shuffle.patch
HDFS_based_shuffle_v2.pdf
Attach a new patch tez_hdfs_shuffle.patch, along with a simple write up
HDFS_based_shuffle_v2.pdf. This patch keeps the intermediate spills on local
disk, and only put the final merged output/index files to HDFS. The fetcher
code reuses Local Disk based fetch, only uses the right file system (instead of
LocalFileSystem) to read the file.
The feature is controlled by:
{code}
tez.runtime.hdfs.based.shuffle.enabled
{code}
by default it is false.
I have yet need to write new unit tests for the case when this configuration is
true. But all existing unit tests pass. I have also run TPCH, all tests pass
with this patch, either with HDFS based shuffle on or off.
> Support DFS based shuffle in addition to HTTP shuffle
> -----------------------------------------------------
>
> Key: TEZ-2442
> URL: https://issues.apache.org/jira/browse/TEZ-2442
> Project: Apache Tez
> Issue Type: Improvement
> Affects Versions: 0.5.3
> Reporter: Kannan Rajah
> Assignee: Kannan Rajah
> Attachments: HDFS_based_shuffle_v2.pdf, Tez Shuffle using DFS.pdf,
> hdfs_broadcast_hack.txt, tez_hdfs_shuffle.patch
>
>
> In Tez, Shuffle is a mechanism by which intermediate data can be shared
> between stages. Shuffle data is written to local disk and fetched from any
> remote node using HTTP. A DFS like MapR file system can support writing this
> shuffle data directly to its DFS using a notion of local volumes and retrieve
> it using HDFS API from remote node. The current Shuffle implementation
> assumes local data can only be managed by LocalFileSystem. So it uses
> RawLocalFileSystem and LocalDirAllocator. If we can remove this assumption
> and introduce an abstraction to manage local disks, then we can reuse most of
> the shuffle logic (store, sort) and inject a HDFS API based retrieval instead
> of HTTP.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)