[
https://issues.apache.org/jira/browse/HDFS-202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755567#action_12755567
]
Sanjay Radia commented on HDFS-202:
-----------------------------------
> Maybe we should punt that until someone develops an append-savvy distcp?
+1
>Why is DetailedFileStatus[] better than Map<FileStatus,BlockLocation[]>? The
>latter seems more transparent.
I was holding out on a file system interface return a map. But that is old
school.
Fine I am convinced.
I suspect you also want the rpc signature to return a map (that makes me more
nervous because most rpcs do not support that - but ours does I guess.).
-----
Wrt to the new FileContext api, my proposal is that its provides a single
getBlockLocation method:
Map<FileStatus,BlockLocation[]> getBlockLocations(Path[] path)
and abandon the BlockLocation[] getBlockLocations(path, start, end).
(of course FileSystem will continue to support the old getBlockLocations.)
> Add a bulk FIleSystem.getFileBlockLocations
> -------------------------------------------
>
> Key: HDFS-202
> URL: https://issues.apache.org/jira/browse/HDFS-202
> Project: Hadoop HDFS
> Issue Type: New Feature
> Reporter: Arun C Murthy
> Assignee: Jakob Homan
>
> Currently map-reduce applications (specifically file-based input-formats) use
> FileSystem.getFileBlockLocations to compute splits. However they are forced
> to call it once per file.
> The downsides are multiple:
> # Even with a few thousand files to process the number of RPCs quickly
> starts getting noticeable
> # The current implementation of getFileBlockLocations is too slow since
> each call results in 'search' in the namesystem. Assuming a few thousand
> input files it results in that many RPCs and 'searches'.
> It would be nice to have a FileSystem.getFileBlockLocations which can take in
> a directory, and return the block-locations for all files in that directory.
> We could eliminate both the per-file RPC and also the 'search' by a 'scan'.
> When I tested this for terasort, a moderate job with 8000 input files the
> runtime halved from the current 8s to 4s. Clearly this is much more important
> for latency-sensitive applications...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.