hadoop学习笔记4:java实现hdfs -ls/-lsr
来源:互联网 发布:mac ssh修改端口 编辑:程序博客网 时间:2024/05/16 12:57
作业1:java代码实现hadoop fs -lsr的功能,调用FileSystem.listStatus(...)方法,显示结果,要求结果显示样式如hadoop fs -ls xxx的结果类似。
作业2:java 代码实现 hadoop fs -lsr 的功能
------上面两题的代码如下:
package hdfs;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class TestFIleSystem {
public static void main(String[] args) throws IOException,
URISyntaxException {
final FileSystem fs = FileSystem.get( new URI("hdfs://chaoren1:9012" ),
new Configuration());
FileStatus[] listStatus = fs.listStatus( new Path("/" ));
// java代码实现hadoop fs - lsr的功能,调用FileSystem.listStatus(...)方法,显示结果,要求结果显示样式如 hadoop fs -ls xxx的结果类似。
//ls (fs);
// java 代码实现 hadoop fs - lsr 的功能
lsr(fs, listStatus);
}
private static void lsr(FileSystem fs, FileStatus[] listStatus)
throws IOException {
for (FileStatus fileStatus : listStatus) {
// 判断是否是文件夹
final boolean isdir = fileStatus.isDir();
final String permission = fileStatus.getPermission().toString();
final short replication = fileStatus.getReplication();
final String group = fileStatus.getGroup().toString();
final String owner = fileStatus.getOwner().toString();
final long blockSize = fileStatus.getBlockSize();
final String modificationTime = DateFormatUtils.format (
fileStatus.getModificationTime(), "yyyy-MM-dd HH:mm:ss");
final String path = fileStatus.getPath().toString();
final String substringPath = path.substring(20, path.length());
System. out.println((isdir ? "d" : "-" )+ permission + " "
+ (replication > 0 ? replication : "-").toString() + " "
+ owner + " " + group + " " + blockSize + "\t\t"
+ modificationTime + " " + substringPath);
if (isdir) {
lsr(fs, fs.listStatus(fileStatus.getPath()));
}
}
}
private static void ls( final FileSystem fs) throws IOException {
final FileStatus[] listStatus = fs.listStatus(new Path( "/"));
for (FileStatus fileStatus : listStatus) {
// 判断是否是文件夹
final boolean isdir = fileStatus.isDir();
final String permission = fileStatus.getPermission().toString();
final short replication = fileStatus.getReplication();
final String group = fileStatus.getGroup().toString();
final String owner = fileStatus.getOwner().toString();
final long blockSize = fileStatus.getBlockSize();
final String modificationTime = DateFormatUtils.format (
fileStatus.getModificationTime(), "yyyy-MM-dd HH:mm:ss");
final String path = fileStatus.getPath().toString();
final String substringPath = path.substring(20, path.length());
System. out.println((isdir ? "d" : "-" ) + permission + " "
+ (replication > 0 ? replication : "-").toString() + " "
+ owner + " " + group + " " + blockSize + "\t\t"
+ modificationTime + " " + substringPath);
}
}
}
作业3: 从NameNode的源代码中找到NameNode是一个RPC Server的证据
(提示,只需要找到RPC.getServer的调用即可)
0 0
- hadoop学习笔记4:java实现hdfs -ls/-lsr
- hadoop学习笔记-java操作HDFS
- hadoop-hdfs学习笔记
- Hadoop学习笔记之---HDFS
- hadoop学习笔记<三>----HDFS
- hadoop学习笔记-HDFS原理
- Hadoop学习笔记---HDFS简介
- Hadoop学习笔记二---HDFS
- Hadoop学习笔记二---HDFS
- hadoop学习笔记-HDFS原理
- Hadoop学习笔记之HDFS
- hadoop学习笔记之HDFS
- hadoop学习笔记(HDFS)
- Hadoop学习笔记之---HDFS
- hadoop学习笔记 MapReduce + HDFS
- hadoop学习笔记之HDFS
- Hadoop学习笔记之HDFS
- Hadoop学习笔记(六)---HDFS java接口
- 笔记本主板上的三极管与晶振的检查方法
- 整理了一些ASP初学者常用的代码
- 使用putty连接到虚拟机centos被拒绝解决方法
- 使用jTopo给Html5 Canva中的元素添加鼠标事件
- 使.NET应用程序开发标准化(转)
- hadoop学习笔记4:java实现hdfs -ls/-lsr
- 比较通用的,就是用IE的WebBrowser
- 扩展欧几里得算法
- ASP.NET实现用户在线检测的类源码
- Oracle SCN headroom、ORA-19706 和_external_scn_rejection_threshold_hours
- JavaScript高级程序设计(第2版) 学习笔记:(三)js原型的四种形态
- iOS开发-clang: error: unknown argument: '-websockets'解决办法
- Java的enum简单介绍
- android Gesture imager