idea操作hdfs

   日期:2020-09-28     浏览:171    评论:0    
核心提示:准备工作:1.把hadoop的jar放在一个文件2.idea的导包3.点击ok我们就完成了idea的hadoop的jar导入工作一、在HDFS上创建目录或文件1.获取HDFS配置 hdfs namenodeConfiguration configuration = new Configuration();configuration.set("fs.defaultFS","hdfs://ip地址:9000");2.根据配置连接HDFSFileSystem fileSystem

准备工作:

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)]

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服