HDFS在JAVA中的API
2019-06-17 16:14
816 查看
编译器:Eclipse
导入依赖的jar包,导入hdfs配置文件
测试类中创建FileSystem.get(new Configuration) 返回FileSystem fs实例对象
创建hdfs中的目录(包括不存在的目录)
fs.mkdirs(new Path("/test/input"));//返回boolean
查看hdfs某目录下的文件是否存在
fs.exists(new Path("/home/aaaa"));//返回boolean
给hdfs中的文件重命名
fs.rename(new Path("/home/aaaa"), new Path("/home/bbbb"));//返回boolean,第二个参数不存在则会新建
删除hdfs中的某文件
fs.delete(new Path("/home/bbbb"));//返回boolean
上传本地文件到hdfs某目录
//获取本地的文件 File localFile = new File("d://aaaab.txt"); //缓冲流读到本地文件的内容,作为到hdfs的输入 InputStream input = new BufferedInputStream(new FileInputStream(localFile)); //在hdfs中新建目录,名字为本地的文件名,此文件作为输出 FSDataOutputStream output = fs.create(new Path("/home/"+localFile.getName())); //将input流输入到output流输出 IOUtils.copyBytes(input, output, conf, true); --in:是FSDataInputStream类的对象,是有关读取文件的类,也就是所谓“输入流” --out:是FSDataOutputStream类的对象,是有关文件写入的类,也就是“输出流” --conf:是传入new Configuration的实例化对象 --true - 是否关闭数据流,如果是false,就在finally里关掉,true则执行完后关掉 //执行完后本地的文件会保留
//执行完后本地的文件会消失 fs.copyFromLocalFile(Path src, Path dst);
下载hdfs中的文件到本地
//获取hdfs中的文件的内容的流,作为到本地的输入 FSDataInputStream input = fs.open(new Path("/home/aaaa")); //获取本地的文件的输出流,作为输出 FileOutputStream output = new FileOutputStream(new File("d://aaaab.txt")); //将input流输入到output流输出 IOUtils.copyBytes(input, output, conf, true); -in:是FSDataInputStream类的对象,是有关读取文件的类,也就是所谓“输入流” --out:是FSDataOutputStream类的对象,是有关文件写入的类,也就是“输出流” --conf:是传入new Configuration的实例化对象 --true - 是否关闭数据流,如果是false,就在finally里关掉,true则执行完后关掉 //执行完后本地的文件会保留
// 执行完后hdfs的文件会消失 fs.copyToLocalFile(Path src, Path dst);
仅供参考
相关文章推荐
- java 操作hdfs api
- java api操作HDFS
- HDFS的Java API
- HDFS的JavaAPI操作
- javaAPI 连接 HDFS 高可用配置
- JAVA操作HDFS API(hadoop)
- hadoop学习笔记(八):Java HDFS API
- hdfs java API
- JAVA API 实现hdfs文件操作
- HDFS文件系统操作JAVA-API
- HDFS的javaAPI
- Hadoop基础教程-第4章 HDFS的Java API(4.3 pom.xml解析)
- 熟练掌握HDFS的Java API接口访问
- hadoop系列之五JavaAPI操作HDFS文本系统
- Hadoop 第五课 几个文件搞定HDFS常用的Java Api
- java api 操作 hdfs
- 使用Hadoop的JAVA API远程访问HDFS
- HDFS JavaAPI 学习
- HDFS JAVA API
- hadoop学习之HDFS(2.8):hdfs的javaAPI使用及示例