05 HDFS Java API应用实例
2021/10/31 9:10:24
本文主要是介绍05 HDFS Java API应用实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、在Ubuntu系统中安装和配置idea
去官网地址下载 https://www.jetbrains.com/idea/download/#section=linux
选择这个版本下载
把Idea放到你想要方的位置,如:
sudo cp ideaIU-2021.2.3.tar.gz /usr/local/
解压
sudo tar -zxvf ideaIU-2021.2.3.tar.gz idea2021
赋权限
sudo chmod 777 idea2021 -R
去到自己的idea安装目录下面启动idea
注意: idea是一门付费软件,笔者不方便提供永久使用的方法,大家可以自己去找激活码来使用 (有付费能力的当我没说哈)
./idea2021/bin/idea.sh
二、利用hadoop 的java api,向HDFS写一个文件。
像创建一个文件夹用于存放idea创建的项目,这是个人习惯,也可以不创建
sudo mkdir /usr/local/workspace
修改权限
sudo chmod 777 /usr/local/workspace -R
创建项目
创建项目成功后,在项目里面创建一个类WriteFile,代码如下
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.Path; public class WriteFile { public static void main(String[] args) { try { Configuration conf = new Configuration(); conf.set("fs.defaultFS","hdfs://localhost:9000"); conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem"); FileSystem fs = FileSystem.get(conf); byte[] buff = "201906110074李志恒".getBytes(); // 要写入的内容 String filename = "file1.txt"; //要写入的文件名 FSDataOutputStream os = fs.create(new Path(filename)); os.write(buff,0,buff.length); System.out.println("Create:"+ filename); os.close(); fs.close(); } catch (Exception e) { e.printStackTrace(); } } }
启动hdfs
cd /usr/local/hadoop
start-dfs.sh
hdfs dfs -ls
启动完hdfs之后回到idea运行ReadFile这个类
再次查看
hdfs dfs -ls
三、从HDFS读取一个文件的内容。
同样在idea创建一个类ReadFile,代码如下(注意代码中的文件路径需要和你WriteFile里面定义的文件路径一样):
import java.io.BufferedReader; import java.io.InputStreamReader; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.FSDataInputStream; public class ReadFile { public static void main(String[] args) { try { Configuration conf = new Configuration(); conf.set("fs.defaultFS","hdfs://localhost:9000"); conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem"); FileSystem fs = FileSystem.get(conf); Path file = new Path("file1.txt"); FSDataInputStream getIt = fs.open(file); BufferedReader d = new BufferedReader(new InputStreamReader(getIt)); String content = d.readLine(); //读取文件一行 System.out.println(content); d.close(); //关闭文件 fs.close(); //关闭hdfs } catch (Exception e) { e.printStackTrace(); } } }
运行这个类, 结果如下
可以看到输出内容为WriteFile中写入的内容
最后停止hdfs
stop-dfs.sh
到此,本次实验结束
sudo chmod 755 -R idea-IU-181.5540.7/
这篇关于05 HDFS Java API应用实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)