利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作
2016-06-27 11:21
871 查看
Hadoop 版本 2.7.0
利用 Hadoop FileSystem listStatus 遍历文件目录 实现HDFS操作
利用 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(); } } }
相关文章推荐
- Centos中去掉敲命令时用 tab 发出“嘀”的声音
- 安装hadoop2.5.2插件
- Consul入门02 - 运行Consul代理
- nginx php-fpm设置
- 理解Netty中的零拷贝(Zero-Copy)机制
- 利用 Hadoop FileSystem moveToLocalFile 方法下载文件 实现HDFS操作
- 03.关于Shell变量那些事
- top命令的Load average 含义及性能参考基值
- 解决linux系统CentOS下调整home和根分区大小的方法
- Linux crontab命令的使用方法
- Linux netstat命令详解
- 利用 Hadoop FileSystem 和 FsPermission mkdirs 方法创建目录 实现HDFS操作
- zabbix自定义监控脚本
- Linux 中 Nginx 重启关闭
- Linux 下Wine安装与QQ轻聊版安装
- nginx安装篇
- 构建shell基础脚本
- Linux学习-VIM操作
- linux内核函数 ioremap()的原理及意义
- linux使用实战--基础应用篇