Hadoop中的输入块路径
我有一个Hadoop安装程序,运行在16个VM上,每个VM有4个处理器。 主输入文件分为小块InputSlit并分发到不同的机器。 现在,我如何找到输入的哪一部分及其副本驻留在哪台机器上? 有命令吗? 我在网上找不到多少信息。 提前谢谢Hadoop中的输入块路径,hadoop,input,Hadoop,Input,我有一个Hadoop安装程序,运行在16个VM上,每个VM有4个处理器。 主输入文件分为小块InputSlit并分发到不同的机器。 现在,我如何找到输入的哪一部分及其副本驻留在哪台机器上? 有命令吗? 我在网上找不到多少信息。 提前谢谢 Pavan kumar Alluri您可以使用此代码计算数据在计算机上的分布: Path file = new Path("/path/to/some/file/"); FileSystem fs = file.getFileSystem(get
Pavan kumar Alluri您可以使用此代码计算数据在计算机上的分布:
Path file = new Path("/path/to/some/file/");
FileSystem fs = file.getFileSystem(getConf());
FileStatus fileStatus = fs.getFileStatus(file);
HDFSBlocksDistribution dist = FSHDFSUtils.computeHDFSBlocksDistribution(fs, fileStatus, 0, fileStatus.getLen());
for (HDFSBlocksDistribution.HostAndWeight value : dist.getHostAndWeights().values()) {
System.out.println(value.getHost() + "\t" + value.getWeight());
}
为什么要做namenode为您做的工作?我只是想知道是否有任何命令可以在不同的机器上查看输入块