HDFS javaAPI编程

简介: HDFS javaAPI编程

继续执行下一个测试文件(在test45文件夹下面新建一个hello.txt文件并写入数据)

 

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://Hadoop102:8020"), conf, "simon");
21.     FSDataOutputStream fin = fs.create(new Path("/home/test45/hello.txt"));
22.     BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fin));
23.     bw.write("Hello World!");
24.     bw.newLine();
25.     bw.write("I am a student\nBigData-class3\nmy name is xie gen feng\nmy NO 45");
26.     bw.close();
27.     fin.close();
28.     fs.close();
29.     System.out.println("创建成功并入写入数据!");
30.   }
31. 
32. }

执行成功!查看网页端:

 

数据写入成功

 

将文件打包

 

将打好的jar包上传到Linux

 

删除web端文件验证Linux执行文件

 

执行后

 

Web端

 

打包其他同样的java测试文件

继续验证文本追加

 

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 E8_AppendAPI {
14.   public static void main(String[] args) throws IOException, InterruptedException {
15.     // TODO Auto-generated method stub
16.     Configuration conf =new Configuration();
17.     conf.set("fs.defaultFS", "hdfs://Hadoop102:8020");
18.     conf.set("dfs.support.append", "true");
19.     conf.set("dfs.client.block.write.replace-datanode-on-failure.policy", "NEVER");
20.     //FileSystem fs = FileSystem.get(conf);
21.     FileSystem fs = FileSystem.get(URI.create("hdfs://Hadoop102:8020"), conf, "simon");
22.     FSDataOutputStream fout = fs.append(new Path("/home/test45/hello.txt"));
23.     BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fout));
24.     bw.write("\nHi");
25.     bw.newLine();
26.     bw.write("This is my homework\nfinish soon!");   
27.     bw.close();
28.     fout.close();
29.     fs.close();
30.     System.out.println("文本追加成功!");
31.   }
32. }

Linux执行jar包

 

Web端验证数据是否写入成功!

理解HDFS Java API编程原理,同时掌握HDFS的命令,也掌握Elipse远程调试Hadoop程序的方法,使用了HDFS基本的API调用方法,使用eclipse编写java程序操作hdfs并将java文件打成jar包放在Linux上面使用Hadoop命令执行文件


相关文章
|
10月前
|
分布式计算 数据可视化 Hadoop
【分布式计算框架】HDFS常用操作及编程实践
【分布式计算框架】HDFS常用操作及编程实践
269 1
|
9月前
|
存储 分布式计算 Hadoop
Hadoop生态系统详解:HDFS与MapReduce编程
Apache Hadoop是大数据处理的关键,其核心包括HDFS(分布式文件系统)和MapReduce(并行计算框架)。HDFS为大数据存储提供高容错性和高吞吐量,采用主从结构,通过数据复制保证可靠性。MapReduce将任务分解为Map和Reduce阶段,适合大规模数据集的处理。通过代码示例展示了如何使用MapReduce实现Word Count功能。HDFS和MapReduce的结合,加上YARN的资源管理,构成处理和分析大数据的强大力量。了解和掌握这些基础对于有效管理大数据至关重要。【6月更文挑战第12天】
347 0
|
10月前
|
分布式计算 Hadoop 测试技术
Hadoop【基础知识 05】【HDFS的JavaAPI】(集成及测试)
【4月更文挑战第5天】Hadoop【基础知识 05】【HDFS的JavaAPI】(集成及测试)
130 8
|
10月前
|
Java Maven
HDFS JAVAAPI总结
HDFS JAVAAPI总结
41 0
|
分布式计算 安全 Java
云计算与大数据实验四 HDFS编程
云计算与大数据实验四 HDFS编程
143 0
|
存储 大数据 API
大数据数据存储的分布式文件系统的HDFS的基本使用的对应的API编程接口
在 Hdfs 中,使用命令行接口可以方便地对数据进行操作。
112 0
|
分布式计算 Java Hadoop
hadoop HDFS javaAPI编程
hadoop HDFS javaAPI编程
hadoop HDFS javaAPI编程
|
分布式计算 Java Hadoop
HDFS Java API编程
HDFS Java API编程
HDFS Java API编程
|
分布式计算 网络协议 大数据
大数据编程技术基础实验八:Flume实验——文件数据Flume至HDFS
大数据技术基础实验八,学习安装部署Flume并将写入Flume的文件数据上传至HDFS。
510 0
大数据编程技术基础实验八:Flume实验——文件数据Flume至HDFS
|
9天前
|
XML 存储 分布式计算
【赵渝强老师】史上最详细:Hadoop HDFS的体系架构
HDFS(Hadoop分布式文件系统)由三个核心组件构成:NameNode、DataNode和SecondaryNameNode。NameNode负责管理文件系统的命名空间和客户端请求,维护元数据文件fsimage和edits;DataNode存储实际的数据块,默认大小为128MB;SecondaryNameNode定期合并edits日志到fsimage中,但不作为NameNode的热备份。通过这些组件的协同工作,HDFS实现了高效、可靠的大规模数据存储与管理。
83 14