准备工作:
1.把hadoop的jar放在一个文件
2.idea的导包
3.点击ok我们就完成了idea的hadoop的jar导入工作
一、在HDFS上创建目录或文件
1.获取HDFS配置 hdfs namenode
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS","hdfs://ip地址:9000");
2.根据配置连接HDFS
FileSystem fileSystem = FileSystem.get(configuration);
3.用HDFS创建目录
fileSystem.create(new Path("/shangdongqinggong"));
fileSystem.mkdirs(new Path("/shangdongqinggong02"));
4.关闭资源
fileSystem.close();
5.如果抛出异常:
我们可以修改hadoop的配置文件 hdfs-site.xml
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0vhIYRoy-1601095079060)(C:\Users\陈同学\AppData\Roaming\Typora\typora-user-images\image-20200926122028181.png)]
二、在HDFS上传文件
1.获取HDFS配置 hdfs namenode
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://ip地址:9000");
2.根据配置连接HDFS
FileSystem fileSystem = FileSystem.get(configuration);
3.读取硬板上的数据
InputStream inputStream=new FileInputStream(new File("本地文件的路径"));
4.规划上传文件的位置
OutputStream outputStream =fileSystem.create(new Path("/上传路径"));
5.上传
IOUtils.copyBytes(inputStream,outputStream,configuration);
6.关闭资源
outputStream.close();
inputStream.close();
fileSystem.close();
三、下载文件到本地
1.获取HDFS配置 hdfs namenode
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://ip地址:9000");
2.根据配置连接HDFS
FileSystem fileSystem = FileSystem.get(configuration);
3.读取HDFS上的数据
InputStream inputStream=fileSystem.open(new Path("文件路径名"));
4.规划硬盘上的存储位置
OutputStream outputStream=new FileOutputStream(new File("E:\\apps\\"));
5.下载
IOUtils.copyBytes(inputStream,outputStream,configuration);
6.关闭资源
outputStream.close();
inputStream.close();
fileSystem.close();
四、删除HDFS的文件
1.获取HDFS配置 hdfs namenode
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://ip地址:9000");
2.根据配置连接HDFS
FileSystem fileSystem = FileSystem.get(configuration);
3.删除 true 如果是文件夹,有子文件夹,同时删除
fileSystem.delete(new Path("/文件名"),true);
fileSystem.delete(new Path("/文件名"), false);
4.关闭资源
fileSystem.close();
五、查看文件
1.获取HDFS配置 hdfs namenode
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://ip地址:9000");
2.根据配置连接HDFS
FileSystem fileSystem = FileSystem.get(configuration);
3.查看文件系统中文件
RemoteIterator<LocatedFileStatus> iterator = fileSystem.listFiles(new Path("/"), true);
while (iterator.hasNext()){
LocatedFileStatus fileStatus=iterator.next();
System.out.println(fileStatus.getPath());
System.out.println(fileStatus.getLen());
System.out.println(fileStatus.getReplication());
System.out.println(fileStatus.getOwner());
}
4.关闭资源
fileSystem.close();
六、完整代码
intln(fileStatus.getLen());
System.out.println(fileStatus.getReplication());
System.out.println(fileStatus.getOwner());
}
## 4.关闭资源
```java
fileSystem.close();
六、完整代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vj5oWsZ9-1601095079062)(C:\Users\陈同学\AppData\Roaming\Typora\typora-user-images\image-20200926122217224.png)]