本文介绍了JAVA操作HDFS案例的简单实现,分享给大家,也给自己做个笔记

Jar包引入,pom.xml:
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>2.8.0</version> </dependency>
将本地文件上传到hdfs服务器:
/**
* 上传文件到hdfs上
*/
@Test
public void upload() throws IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://hzq:9000");
FileSystem fs = FileSystem.get(conf);
fs.copyFromLocalFile(new Path("/home/hzq/jdk1.8.tar.gz"),new Path("/demo"));
}
解析:
在开发中我没有引入“core-site.xml”配置文件,所以在本地调用时使用conf进行配置“conf.set("fs.defaultFS","hdfs://hzq:9000");“,下面雷同。
将hdfs上文件下载到本地:
/**
* 将hdfs上文件下载到本地
*/
@Test
public void download() throws IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://hzq:9000");
FileSystem fs = FileSystem.newInstance(conf);
fs.copyToLocalFile(new Path("/java/jdk1.8.tar.gz"),new Path("/home/hzq/"));
}
删除hdfs上指定文件:
/**
* 删除hdfs上的文件
* @throws IOException
*/
@Test
public void removeFile() throws IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://hzq:9000");
FileSystem fs = FileSystem.newInstance(conf);
fs.delete(new Path("/demo/jdk1.8.tar.gz"),true);
}
在hdfs上创建文件夹:
/**
* 在hdfs更目录下面创建test1文件夹
* @throws IOException
*/
@Test
public void mkdir() throws IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://hzq:9000");
FileSystem fs = FileSystem.newInstance(conf);
fs.mkdirs(new Path("/test1"));
}
列出hdfs上所有的文件或文件夹:
@Test
public void listFiles() throws IOException {
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://hzq:9000");
FileSystem fs = FileSystem.newInstance(conf);
// true 表示递归查找 false 不进行递归查找
RemoteIterator<LocatedFileStatus> iterator = fs.listFiles(new Path("/"), true);
while (iterator.hasNext()){
LocatedFileStatus next = iterator.next();
System.out.println(next.getPath());
}
System.out.println("----------------------------------------------------------");
FileStatus[] fileStatuses = fs.listStatus(new Path("/"));
for (int i = 0; i < fileStatuses.length; i++) {
FileStatus fileStatus = fileStatuses[i];
System.out.println(fileStatus.getPath());
}
}
运行结果:
结果分析:
“listFiles“列出的是hdfs上所有文件的路径,不包括文件夹。根据你的设置,支持递归查找。
”listStatus“列出的是所有的文件和文件夹,不支持递归查找。如许递归,需要自己实现。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# JAVA操作HDFS
# java
# hdfs
# hadoop的hdfs文件操作实现上传文件到hdfs
# hdfs集成springboot使用方法
# 递归
# 的是
# 给大家
# 做个
# 不支持
# 不包括
# 也给
# 配置文件
# 大家多多
# 上传文件
# 上传
# version
# Test
# public
# set
# conf
# defaultFS
# fs
相关文章:
如何访问已购建站主机并解决登录问题?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
太原网站制作公司有哪些,网约车营运证查询官网?
安云自助建站系统如何快速提升SEO排名?
表情包在线制作网站免费,表情包怎么弄?
如何快速重置建站主机并恢复默认配置?
制作电商网页,电商供应链怎么做?
如何基于PHP生成高效IDC网络公司建站源码?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
建站之星Pro快速搭建教程:模板选择与功能配置指南
香港服务器选型指南:免备案配置与高效建站方案解析
网站插件制作软件免费下载,网页视频怎么下到本地插件?
网站制作话术技巧,网站推广做的好怎么话术?
临沂网站制作企业,临沂第三中学官方网站?
如何用美橙互联一键搭建多站合一网站?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
宝塔建站无法访问?如何排查配置与端口问题?
用v-html解决Vue.js渲染中html标签不被解析的问题
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
建站之星会员如何解锁更多建站功能?
如何通过VPS建站无需域名直接访问?
ppt制作免费网站有哪些,ppt模板免费下载网站?
,南京靠谱的征婚网站?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
建站之星如何取消后台验证码生成?
Python路径拼接规范_跨平台处理说明【指导】
建站之星后台管理:高效配置与模板优化提升用户体验
如何快速搭建高效可靠的建站解决方案?
Thinkphp 中 distinct 的用法解析
如何高效完成自助建站业务培训?
宝塔面板如何快速创建新站点?
如何通过虚拟主机快速搭建个人网站?
,sp开头的版面叫什么?
C#如何序列化对象为XML XmlSerializer用法
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
学校为何禁止电信移动建设网站?
建站之星如何快速更换网站模板?
如何使用Golang table-driven基准测试_多组数据测量函数效率
北京企业网站设计制作公司,北京铁路集团官方网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何在IIS中新建站点并配置端口与物理路径?
如何快速使用云服务器搭建个人网站?
小建面朝正北,A点实际方位是否存在偏差?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何用好域名打造高点击率的自主建站?
建站三合一如何选?哪家性价比更高?
建站VPS配置与SEO优化指南:关键词排名提升策略
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。