HDFSAPI编程源码-文件创建操作

简介: HDFSAPI编程源码-文件创建操作

首先获取文件配置

//获得文件系统对象,由于只有root用户才有写权限,因此用root用户去获取文件系统对象

创建一个txt文件,再使用IO流写入数据

最后再关闭

1. package hdfsapi;
2. 
3. import java.io.BufferedWriter;
4. import java.io.IOException;
5. import java.io.OutputStreamWriter;
6. import java.net.URI;
7. 
8. import org.apache.hadoop.conf.Configuration;
9. import org.apache.hadoop.fs.FSDataOutputStream;
10. import org.apache.hadoop.fs.FileSystem;
11. import org.apache.hadoop.fs.Path;
12. 
13. public class E6_CreateAPI {
14. 
15.   public static void main(String[] args) throws IOException, InterruptedException {
16.     // TODO Auto-generated method stub
17.     Configuration conf =new Configuration();
18.     //conf.set("fs.defaultFS", "hdfs://master:8020");
19.     //FileSystem fs = FileSystem.get(conf);
20.     FileSystem fs = FileSystem.get(URI.create("hdfs://master:8020"), conf, "root");
21.     FSDataOutputStream fin = fs.create(new Path("/user/root/hello1.txt"));
22.     BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fin));
23.     bw.write("Hello World!");
24.     bw.newLine();
25.     bw.write("I am a student.\n");
26.     bw.close();
27.     fin.close();
28.     fs.close();
29.     System.out.println("done...");
30.   }
31. 
32. }


相关文章
|
JavaScript
Vue中的v-for中:key是必须的吗?为什么?
Vue中的v-for中:key是必须的吗?为什么?
897 0
|
Linux SoC
关于S3学习所涉及到的知识(三):Generic PM之Suspend功能&&Gicv3电源/功耗管理
关于S3学习所涉及到的知识(三):Generic PM之Suspend功能&&Gicv3电源/功耗管理
604 0
MapStruct - 生成空对象解决方案
MapStruct - 生成空对象解决方案
2032 0
|
网络架构 网络协议
如何查看路由器的mac和计算机的mac
如何查看路由器的mac和计算机的mac 一、查看路由器的mac     方法一: 直接看路由器的背面,如下图,即可看到MAC地址   打开命令提示符窗口,输入ipconfig,找到网关地址,如192.168.1.1 3 再在命令提示符窗口中输入 arp -a 找到对应的ip地址 192.168.1.1 后的地址即为无线路由MAC地址     二、查看计算机的mac       cmd命令窗口中输入ipconfig/all命令即可查看。
5208 0
|
人工智能 Linux 文件存储
旧台式电脑的 10 种用途
旧台式电脑的 10 种用途
1331 14
Appium设置会话时长,解决调试代码时session失效的问题
Appium设置会话时长,解决调试代码时session失效的问题
573 0
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
785 3
|
机器学习/深度学习 自然语言处理 算法
命名实体消歧
8月更文挑战第23天
|
开发工具 git 开发者
【专栏】探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序
【4月更文挑战第29天】本文探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序。与 `git merge` 不同,rebase 重写提交历史,提供简洁线性的历史记录。文章介绍了 rebase 的基本操作、应用场景,如整理提交历史、解决冲突和整合分支,并强调了使用注意事项,如避免在公共分支上操作。尽管 rebase 可以带来整洁的历史和冲突解决便利,但其潜在的风险和可能导致的历史混乱需谨慎对待。理解并恰当使用 `git rebase` 可以提升开发效率和代码质量。
1117 1