使用Hadoop自己的类操作HDFS
2024-08-26 15:32:30
package hdfs; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils; public class App2 {
static final String PATH = "hdfs://chaoren:9000/";
static final String DIR = "/d1";
static final String FILE = "/d1/hello";
public static void main(String[] args) throws Exception {
FileSystem fileSystem = getFileSystem();
//创建文件夹 hadoop fs -mkdir /f1
mkdir(fileSystem);
//上传文件 -put src des
putData(fileSystem);
//下载文件 hadoop fs -get src des
//getData(fileSystem);
//浏览文件夹
list(fileSystem);
//删除文件夹
//remove(fileSystem);
}
private static void list(FileSystem fileSystem) throws IOException {
final FileStatus[] listStatus = fileSystem.listStatus(new Path("/"));
for (FileStatus fileStatus : listStatus) {
String isDir = fileStatus.isDir()?"文件夹":"文件";
final String permission = fileStatus.getPermission().toString();
final short replication = fileStatus.getReplication();
final long len = fileStatus.getLen();
final String path = fileStatus.getPath().toString();
System.out.println(isDir+"\t"+permission+"\t"+replication+"\t"+len+"\t"+path);
}
}
private static void getData(FileSystem fileSystem) throws IOException {
final FSDataInputStream in = fileSystem.open(new Path(FILE));
IOUtils.copyBytes(in, System.out, 1024, true);
}
private static void putData(FileSystem fileSystem) throws IOException,
FileNotFoundException {
final FSDataOutputStream out = fileSystem.create(new Path(FILE));
final FileInputStream in = new FileInputStream("H:/kuaipan/hadoop/classes/yy131009/day2/readme.txt");
IOUtils.copyBytes(in, out, 1024, true);
}
private static void remove(FileSystem fileSystem) throws IOException {
fileSystem.delete(new Path(DIR), true);
}
private static void mkdir(FileSystem fileSystem) throws IOException {
fileSystem.mkdirs(new Path(DIR));
}
private static FileSystem getFileSystem() throws IOException, URISyntaxException {
return FileSystem.get(new URI(PATH), new Configuration());
}
}
最新文章
- java空指针异常:java.lang.NullPointException
- java入门笔记
- Qt Load and Save PCL/PLY 加载和保存点云
- minio-dotnet --云存储服务
- PAT1023. Have Fun with Numbers
- datagridview 点击列标题排序
- 利用stdin stdout stderr及POSIX-linux机制重定向写日志
- flex的三个属性:
- php cookie的问题
- MySQL中支持emoji表情的存储
- [转] js对象监听实现
- OkHttp3源码详解(一) Request类
- httpclient原理
- win8+iis8+PHP5安装配置和Zend Optimizer安装教程
- 远程桌面如何向远程的计算机发送ctrl+alt+del
- 为什么我们不要.NET程序员(读后有点想法,所以转来了) 注:本文来自CSDN
- CSU - 2056 a simple game
- [你必须知道的.NET]第十八回:对象创建始末(上)
- bozj 1449/2895: 球队预算 -- 费用流
- Machine Learning CodeForces - 940F (带修改的莫队)
热门文章
- cf 853 B Jury Meeting [前缀和]
- BZOJ3997 [TJOI2015]组合数学 【Dilworth定理】
- noip2018 pre——Dp
- Java项目性能监控和调优工具-Javamelody的学习总结
- windows server 2008 密码破解
- 【07】react 之 生命周期
- pat 甲级 1078. Hashing (25)
- http://store.microsoft.com/home.aspx
- Day 29 process&;thread_1
- hdu 1005(找循环节)