[ 
https://issues.apache.org/jira/browse/HADOOP-2187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12542626
 ] 

Konstantin Shvachko commented on HADOOP-2187:
---------------------------------------------

I agree, especially since hdfs already calls getBlockLocations(String src, long 
offset, long length) inside getHints(). See HADOOP-894.
The return class is called LocatedBlocks. It could be generalized into an 
interface if that makes sense for other file systems.


> FileSystem should return location information with byte ranges
> --------------------------------------------------------------
>
>                 Key: HADOOP-2187
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2187
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: fs
>            Reporter: Owen O'Malley
>             Fix For: 0.16.0
>
>
> The FileSystem interface should provide location information with byte ranges 
> rather than a String[][] of locations. I suggest that we deprecate 
> FileSystem.getFileCacheHints and replace it with:
> {code}
> abstract public class FileSystem {
>    ...
>    public static class BlockInformation implements Writable {
>       public BlockInformation(long start, String[] locations) {...}
>       public String[] getHosts() {...}
>       public long getStartingOffset() {...}
>    }
>    BlockInformation[] getFileLocations(Path f, long start, long length) { ... 
> }
> }
> {code}
> This will allow us to fix the FileInputFormat in map/reduce to make just one 
> call per a file to the name node instead of one per a block.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to