Hadoop框架HDFS Java API
创建Hadoop模块
1、选择创建Maven项目方便管理pom依赖
![](https://img-blog.csdnimg.cn/ea131beb8b8c431990d97d3b0f8a9c83.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
2、填写包名、项目名、版本号
![](https://img-blog.csdnimg.cn/d285cca0c0b44d02bb7360f55a2d5cf5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
进入Maven官网加入依赖
加入hadoop-client依赖,选择2.7.6版本。
1、搜索hadoop-client依赖
![](https://img-blog.csdnimg.cn/ccb94f08abf34cdca90a310fe5203143.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
2、选择2.7.6版本
![](https://img-blog.csdnimg.cn/1172c69c46124ebe91db4c75c9cc9c5c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
3、将Maven的hadoop-client依赖复制到pom.xml文件中
![](https://img-blog.csdnimg.cn/f1d13198720345bdbe8c28e49013ade5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
4、重新导入依赖
![](https://img-blog.csdnimg.cn/1d5d5686e65d4e9596a528fafa0039a4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
5、导入依赖成功
![](https://img-blog.csdnimg.cn/b190e8fbb4e74bd39efec44a69203fb4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
- 导入的依赖如下
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.6</version>
</dependency>
6、如果导入失败请检查Maven的设置
File->Settings->Maven
![](https://img-blog.csdnimg.cn/76df410e1b2348cea6b3f9adba751d81.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
FileSystem
fileSystem是使用java代码操作hdfs的api接口
![](https://img-blog.csdnimg.cn/cbf9fc63af8047caa4df185fb270a9bb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
文件操作
- create写文件
- open读取文件
- delete删除文件
目录操作
- mkdirs创建目录
- delete删除文件或目录
- listStatus列出目录的内容
- getFileStatus 显示文件系统的目录和文件的元数据信息
- getFileBlockLocations显示文件存储位置
准备工作
首先启动HDFS
start-all.sh
##创建HDFSJavaAPI
![](https://img-blog.csdnimg.cn/75e90115d0074ef184d0f615bca3a926.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_20,color_FFFFFF,t_70,g_se,x_16)
注意导的都是Hadoop的包!
这里举两个例子
![](https://img-blog.csdnimg.cn/f95255208e2f46c8b821398a2fbc43f4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_19,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/73f6ce683333469197d2c6df2c4adb0a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbGlhbmd6YWkyMDQ4,size_16,color_FFFFFF,t_70,g_se,x_16)
创建目录(测试)
package com.liangzai.HDFS;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import