大数据全系列 教程
1869个小节阅读:468.1k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
@Test
public void listFiles() throws Exception {
//1.创建配置文件对象
Configuration configuration = new Configuration();
//2.获取文件系统对象
FileSystem fileSystem = FileSystem.get(new URI("hdfs://node1:9820"),configuration,"root");
/**3.获取指定目录下文件列表信息
*Path f:指定目录对应的Path类的对象
*boolean recursive:
* true表示迭代“后代级别的文件“
* false表示仅仅获取指定目录下的文件
*/
RemoteIterator<LocatedFileStatus> listFiles = fileSystem.listFiles(new Path("/user"), true);
//4.遍历迭代器
while(listFiles.hasNext()){
LocatedFileStatus fileStatus = listFiles.next();
System.out.println("文件名称:"+fileStatus.getPath().getName());
System.out.println("文件的长度:"+fileStatus.getLen());
System.out.println("文件所属用户:"+fileStatus.getOwner());
System.out.println("文件所属的用户组:"+fileStatus.getGroup());
System.out.println("文件的权限:"+fileStatus.getPermission());
//5.获取文件块s信息
//BlockLocation[] blockLocations = fileSystem.getFileBlockLocations(fileStatus, 0, fileStatus.getLen());
BlockLocation[] blockLocations = fileStatus.getBlockLocations();
//6.遍历文件块
for(BlockLocation blockLocation:blockLocations){
//获取
System.out.println("偏移量:"+blockLocation.getOffset());
String[] hosts = blockLocation.getHosts();
System.out.println("=============host start print==========");
for(String host:hosts){
System.out.println(host);
}
System.out.println("=============host end print==========");
String[] names = blockLocation.getNames();
System.out.println("names:"+names.toString());
}
System.out.println("====================================");
}
}