HDFS的fsimages是hdfs准实时状态镜像文件,里面包含hdfs文件大小等元数据信息,直接拉取该文件分析,比通过hdfs命令或者接口拉取分析hive表文件大小等信息消耗的资源要小很多。
下面是通过java客户端的DFSAdmin拉取HDFS的fsimages文件代码。
public File fetchImage(File dir) throws IOException {
new DFSAdmin(conf).fetchImage(new String[]{"-fetchImage", dir.getAbsolutePath()}, 1);
Collection<File> files = FileUtils.listFiles(dir, null, false);
Preconditions.checkState(!files.isEmpty(), "fsimage dir is empty");
return files.stream().findFirst().get();
}

本文介绍了HDFS中fsimages文件的作用及如何使用Java客户端DFSAdmin拉取该文件的方法。fsimages作为HDFS的准实时状态镜像文件,包含丰富的元数据信息,相比通过HDFS命令或接口获取hive表文件大小等信息,其资源消耗更少。
895

被折叠的 条评论
为什么被折叠?



