【HDFS】常用API
用java代码实现Linux下的命令
通过FileSystem对象操作,实现setup()和test()函数
@Before
public void setup() throws URISyntaxException, IOException, InterruptedException {fs=FileSystem.get(new URI("hdfs://192.168.234.132:8020"),new Configuration(),"hr");
}
常用方法:
1.按照指定路径创建文件(可以级联):create(Path f)
2.按照指定路径创建文件夹(可以级联):mkdirs(Path f)
3.删除指定文件或文件夹
delete(Path path,boolean recursive) recursive指定是否递归删除,删除非空文件夹时必须指定为true。
4.上传文件到HDFS:
copyFromLocalFile(Path src,Path dst)
copyFromLocalFile(boolean delSrc,Path src,Path dst) delSrc指定上传完成后是否删除源文件
copyFromLocalFile(boolean delSrc,boolean overwrite,Path src,Path dst) overwrite指定若文件已存在是否覆盖
copyFromLocalFile(boolean delSrc,boolean overwrite,Path[] srcs,Path dst) 一次上传多个文件
注意这个local,如果是在windows上测试,local指的就是windows本地
moveFromLocalFile(Path src,Path dst) 上传文件到HDFS系统,并且完成之后自动删除源文件
moveFromLocalFile(Path[] srcs,Path dst)
5.从HDFS上下载文件:
copyToLocalFile(Path src,Path dst)
copyToLocalFile(boolean delSrc,Path src,Path dst)
moveToLocalFile(Path src,Path dst) 从HDFS上下载文件,并且完成之后自动删除源文件
6.判断是否是文件夹:isDirectory(Path f)
7.判断是否是文件:isFile(Path f)
8.列出文件(相当于Linux下的ls,但不显示文件夹):
listFiles(Path f,boolean recursive) 返回的是LocatedFileStatus的迭代器
RemoteIterator<LocatedFileStatus> lfs=fs.listFiles(new Path("/kinggsoft"),true);
while(lfs.hasNext())
{System.out.println(lfs.next().getPath());
}
9.以流的方式读取文件:
open(Path f) 返回FSDataInputStream
public void test() throws IOException {FSDataInputStream fsis=fs.open(new Path("/mobile2"));byte[] temp=new byte[128];int len=-1;while((len=fsis.read(temp))!=-1){System.out.println(new String(temp,0,len));}
}
10.向文件中追加内容:
append(Path f) 返回FSDataOutputStream
public void appendToFile() throws IOException {FSDataOutputStream fsos=fs.append(new Path("/mobile2"));fsos.write("hahaha".getBytes());fsos.close();
}
不过出现了一个异常 弄一晚上也没解决 改天再说吧。
【HDFS】常用API相关推荐
- HDFS常用的Api
HDFS常用的Api: package com.jxd.hdfs;import org.apache.hadoop.conf.Configuration; import org.apache.hado ...
- Hadoop基础(三) --- oiv、oev、通过URL访问hdfs以及FileSyatem-- Hadoop的文件系统的常用API
[oiv]offline image viwer -------------------------------------------------------------- 1.用于查看Had ...
- HDFS Shell API(常用)
HDFS常用命令 1.查看帮助文档 [root@master Desktop]# hadoop fs 2.查看所有目录及其文件 #查看hdfs根目录下所有文件 [root@master ~]# had ...
- HDFS常用命令和客户端API操作
注意 1)记得快照,快照,快照一下 ECS服务器怎么快照? ECS服务器搭建hadoop伪分布式_CBeann的博客-CSDN博客_宝塔部署hadoop 2)参考资料(视频)的问题 上面网盘的视频, ...
- HDFS常用端口及参数释义
hdfs 常用端口和 hdfs-default配置文件参数的意义: https://www.cnblogs.com/duanxz/p/3799467.html Hadoop 2.x常用端口及查看方法: ...
- 分布式文件系统—HDFS—Java API操作
原文作者:jiangw-Tony 原文地址:HDFS基础使用 hdfs 在生产应用中主要是客户端的开发,其核心步骤是从 hdfs 提供的 api 中构造一个 HDFS的访问客户端对象,然后通过该客户端 ...
- java向hdfs提交命令_Java语言操作HDFS常用命令测试代码
本文主要向大家介绍了Java语言操作HDFS常用命令测试代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. package com.yxc.hdfs; import org.apac ...
- 大数据技术之_17_Storm学习_Storm 概述+Storm 基础知识+Storm 集群搭建+Storm 常用 API+Storm 分组策略和并发度
大数据技术之_17_Storm学习 一 Storm 概述 1.1 离线计算是什么? 1.2 流式计算是什么? 1.3 Storm 是什么? 1.4 Storm 与 Hadoop 的区别 1.5 Sto ...
- 2021年大数据Hadoop(十二):HDFS的API操作
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS的API操作 ...
- c++ string replace_JAVA应用程序开发之String类常用API
[本文详细介绍了JAVA应用开发中的String类常用API,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 API ( Application Interface 应用程序接口)是类中提供的接口, ...
最新文章
- java8 时间加一秒_年货买瓜子有讲究!这些加了“料”的瓜子不安全!
- MySQL优化篇:锁机制
- R的一些统计分析包工具
- 【Android 内存优化】Android 工程中使用 libjpeg-turbo 压缩图片 ( JNI 传递 Bitmap | 获取位图信息 | 获取图像数据 | 图像数据过滤 | 释放资源 )
- nginx反向代理取得IP地址
- 四大算法解决最短路径问题(Dijkstra+Bellman-ford+SPFA+Floyd)
- timer.schedule定时器用法
- 值得收藏!数据分析最常用的18个概念,终于有人讲明白了
- python爬虫:爬取某网站视频
- str split函数 php,怎么在php中利用str_split函数分割字符串
- jQuery Mobile中页面page的data-*选项
- 华为鸿蒙深度研究(100页)
- bash 单引号 双引号_Bash Shell中的单引号和双引号有什么区别?
- 更大的模型并不总是更好的模型,微型机器学习将是未来的方向
- android 网络 adb,Android设备通过网络adb 调试
- 2018年Android面试题含答案
- Vue报错:Error in v-on handler: “ReferenceError: regeneratorRuntime is not defined“
- Javascript 10进制转16进制补0 ,16进制转10进制
- <input type = “button“>和<button></button>的区别
- QQ聊天记录快速迁移
热门文章
- Android:Content has been consumed
- 生物信息电脑运行环境搭建-Python R Linux
- The following error occured:
- python合并excel表格
- 游戏反外挂的难点和破局之路
- jquery仿钉钉流程图制作。
- Spring源码分析总结(二)-Spring AOP 解析aop:aspectj-autoproxy
- mysql2008连接不上_sql server连接不上怎么办 SQL Server2008R无法登录的解决方案(1814\18456)...
- Solidity简单例子-代理投票
- 一级计算机页码居中,word中页码为何不能同时居中