我是靠谱客的博主 尊敬高跟鞋,最近开发中收集的这篇文章主要介绍利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Hadoop 版本 2.7.0
利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作
package com.feng.test.hdfs.filesystem;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
/**
* 遍历文件目录
* 远程调用机器 需要 liunx 修改 /etc/hosts 添加 10.11.12.4 master
* @author feng
*
*/
public class FileList {
public static void main(String[] args) {
FileSystem hdfs = null;
try{
Configuration config = new Configuration();
// 程序配置
config.set("fs.default.name", "hdfs://master:9000");
//config.set("hadoop.job.ugi", "feng,111111");
//config.set("hadoop.tmp.dir", "/tmp/hadoop-fengClient");
//config.set("dfs.replication", "1");
//config.set("mapred.job.tracker", "master:9001");
hdfs = FileSystem.get(new URI("hdfs://master:9000"),
config, "feng");
Path path = new Path("/");
iteratorShowFiles(hdfs, path);
}catch(Exception e){
e.printStackTrace();
}finally{
if(hdfs != null){
try {
hdfs.closeAll();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/**
*
* @param hdfs FileSystem 对象
* @param path 文件路径
*/
public static void iteratorShowFiles(FileSystem hdfs, Path path){
try{
if(hdfs == null || path == null){
return;
}
//获取文件列表
FileStatus[] files = hdfs.listStatus(path);
//展示文件信息
for (int i = 0; i < files.length; i++) {
try{
if(files[i].isDirectory()){
System.out.println(">>>" + files[i].getPath()
+ ", dir owner:" + files[i].getOwner());
//递归调用
iteratorShowFiles(hdfs, files[i].getPath());
}else if(files[i].isFile()){
System.out.println("
" + files[i].getPath()
+ ", length:" + files[i].getLen()
+ ", owner:" + files[i].getOwner());
}
}catch(Exception e){
e.printStackTrace();
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
最后
以上就是尊敬高跟鞋为你收集整理的利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作的全部内容,希望文章能够帮你解决利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复