用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相关推荐

  1. HDFS常用的Api

    HDFS常用的Api: package com.jxd.hdfs;import org.apache.hadoop.conf.Configuration; import org.apache.hado ...

  2. Hadoop基础(三) --- oiv、oev、通过URL访问hdfs以及FileSyatem-- Hadoop的文件系统的常用API

    [oiv]offline image viwer    -------------------------------------------------------------- 1.用于查看Had ...

  3. HDFS Shell API(常用)

    HDFS常用命令 1.查看帮助文档 [root@master Desktop]# hadoop fs 2.查看所有目录及其文件 #查看hdfs根目录下所有文件 [root@master ~]# had ...

  4. HDFS常用命令和客户端API操作

    注意 1)记得快照,快照,快照一下 ECS服务器怎么快照?  ECS服务器搭建hadoop伪分布式_CBeann的博客-CSDN博客_宝塔部署hadoop 2)参考资料(视频)的问题 上面网盘的视频, ...

  5. HDFS常用端口及参数释义

    hdfs 常用端口和 hdfs-default配置文件参数的意义: https://www.cnblogs.com/duanxz/p/3799467.html Hadoop 2.x常用端口及查看方法: ...

  6. 分布式文件系统—HDFS—Java API操作

    原文作者:jiangw-Tony 原文地址:HDFS基础使用 hdfs 在生产应用中主要是客户端的开发,其核心步骤是从 hdfs 提供的 api 中构造一个 HDFS的访问客户端对象,然后通过该客户端 ...

  7. java向hdfs提交命令_Java语言操作HDFS常用命令测试代码

    本文主要向大家介绍了Java语言操作HDFS常用命令测试代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. package com.yxc.hdfs; import org.apac ...

  8. 大数据技术之_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 ...

  9. 2021年大数据Hadoop(十二):HDFS的API操作

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS的API操作 ...

  10. c++ string replace_JAVA应用程序开发之String类常用API

    [本文详细介绍了JAVA应用开发中的String类常用API,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 API ( Application Interface 应用程序接口)是类中提供的接口, ...

最新文章

  1. java8 时间加一秒_年货买瓜子有讲究!这些加了“料”的瓜子不安全!
  2. MySQL优化篇:锁机制
  3. R的一些统计分析包工具
  4. 【Android 内存优化】Android 工程中使用 libjpeg-turbo 压缩图片 ( JNI 传递 Bitmap | 获取位图信息 | 获取图像数据 | 图像数据过滤 | 释放资源 )
  5. nginx反向代理取得IP地址
  6. 四大算法解决最短路径问题(Dijkstra+Bellman-ford+SPFA+Floyd)
  7. timer.schedule定时器用法
  8. 值得收藏!数据分析最常用的18个概念,终于有人讲明白了
  9. python爬虫:爬取某网站视频
  10. str split函数 php,怎么在php中利用str_split函数分割字符串
  11. jQuery Mobile中页面page的data-*选项
  12. 华为鸿蒙深度研究(100页)
  13. bash 单引号 双引号_Bash Shell中的单引号和双引号有什么区别?
  14. 更大的模型并不总是更好的模型,微型机器学习将是未来的方向
  15. android 网络 adb,Android设备通过网络adb 调试
  16. 2018年Android面试题含答案
  17. Vue报错:Error in v-on handler: “ReferenceError: regeneratorRuntime is not defined“
  18. Javascript 10进制转16进制补0 ,16进制转10进制
  19. <input type = “button“>和<button></button>的区别
  20. QQ聊天记录快速迁移

热门文章

  1. Android:Content has been consumed
  2. 生物信息电脑运行环境搭建-Python R Linux
  3. The following error occured:
  4. python合并excel表格
  5. 游戏反外挂的难点和破局之路
  6. jquery仿钉钉流程图制作。
  7. Spring源码分析总结(二)-Spring AOP 解析aop:aspectj-autoproxy
  8. mysql2008连接不上_sql server连接不上怎么办 SQL Server2008R无法登录的解决方案(1814\18456)...
  9. Solidity简单例子-代理投票
  10. 一级计算机页码居中,word中页码为何不能同时居中