我需要编写一个程序,从给定文件的特定数据节点中提取hdfs中的块。这不是在 MapReduce
工作,但在语法上是为了收集我集群的一些统计数据。
到目前为止,给定一个文件,我已经能够提取与该文件关联的块位置。对于每个块有多个副本,我需要访问位于某个副本上的块。我知道这些将主要是远程读取操作。
我做了以下工作:
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
Path inFile = new Path(args[0]);
FileStatus status = fs.getFileStatus(inFile);
BlockLocation[] locs = fs.getFileBlockLocations(status, 0, status.getLen());
String[] hosts = locs[0].getHosts ();
有人能告诉我如何从主机[0]获取locs[0]指向的块吗?
暂无答案!
目前还没有任何答案,快来回答吧!