HDFS常用的Api:

package com.jxd.hdfs;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Arrays;public class HdfsClient {private FileSystem fs;@Beforepublic void init() throws URISyntaxException, IOException, InterruptedException {URI uri = new URI("hdfs://hadoop102:8020");Configuration configuration = new Configuration();String user = "jxd";fs = FileSystem.get(uri, configuration, user);}@Afterpublic void close() throws IOException {fs.close();}/*** 创建目录** @throws IOException*/@Testpublic void testMkdir() throws IOException {fs.mkdirs(new Path("/xiyou/huaguoshan"));}/*** 上传文件* hdfs-default.xml < hdfs-site.xml < 在resources目录下创建的配置文件 < configuration对象设置** @throws IOException*/@Testpublic void testPut() throws IOException {// 是否删除原数据 是否覆盖 原数据路径 目的路径fs.copyFromLocalFile(false, false, new Path("G:\\input\\hello.txt"), new Path("hdfs://hadoop102/xiyou/huaguoshan"));}/*** 下载文件** @throws IOException*/@Testpublic void testGet() throws IOException {// 下载后是否删除hdfs中的文件 原文件的路径 目的地址 是否开启本地校验fs.copyToLocalFile(false, new Path("hdfs://hadoop102/xiyou/huaguoshan"), new Path("G:\\"), false);}/*** 删除文件** @throws IOException*/@Testpublic void testRm() throws IOException {// 目标路径 是否递归删除fs.delete(new Path("hdfs://hadoop102/sanguo"), true);}/*** 重命名文件和移动文件*/@Testpublic void renameAndMove() throws IOException {// 原文件路径 目标文件路径fs.rename(new Path("hdfs://hadoop102/input/word.txt"), new Path("hdfs://hadoop102/input/word1.txt"));}/*** 获取文件或文件夹的详细信息** @throws IOException*/@Testpublic void testLookFileDetail() throws IOException {// 获取所有的目标文件RemoteIterator<LocatedFileStatus> files = fs.listFiles(new Path("hdfs://hadoop102/"), true);// 遍历文件while (files.hasNext()) {LocatedFileStatus fileStatus = files.next();// 获取文件的详细信息System.out.println("Path: " + fileStatus.getPath());System.out.println("Permission: " + fileStatus.getPermission());System.out.println("Owner: " + fileStatus.getOwner());System.out.println("Group: " + fileStatus.getGroup());System.out.println("FileSize: " + fileStatus.getLen());System.out.println("ModificationTime: " + fileStatus.getModificationTime());System.out.println("Replication: " + fileStatus.getReplication());System.out.println("BlockSize: " + fileStatus.getBlockSize());System.out.println("Name: " + fileStatus.getPath().getName());// 获取块信息BlockLocation[] blockLocations = fileStatus.getBlockLocations();System.out.println("BlockLocation: " + Arrays.toString(blockLocations));}}/*** 判断是文件还是目录* @throws IOException*/@Testpublic void TestIsFileOrDir() throws IOException {FileStatus[] listStatus = fs.listStatus(new Path("hdfs://hadoop102/"));for (FileStatus status : listStatus) {if(status.isFile()){System.out.println("文件:" + status.getPath().getName());}else{System.out.println("目录:" + status.getPath().getName());}}}
}

HDFS常用的Api相关推荐

  1. HDFS基本操作的API

    一.从hdfs下载文件到windows本地: package com.css.hdfs01;import java.io.IOException; import java.net.URI; impor ...

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

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

  3. java hadoop api_Hadoop 系列HDFS的Java API( Java API介绍)

    HDFS的Java API Java API介绍 将详细介绍HDFS Java API,一下节再演示更多应用. Java API 官网 如上图所示,Java API页面分为了三部分,左上角是包(Pac ...

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

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

  5. Elasticsearch入常用RESTful API总结

    RESTful API HTTP动词介绍 对于资源的具体操作类型,由HTTP动词表示. 常用的HTTP动词有下面五个(括号里是对应的SQL命令). GET(SELECT):从服务器取出资源(一项或多项 ...

  6. 学习笔记Hadoop(十)—— Hadoop基础操作(2)—— HDFS常用Shell操作

    三.HDFS常用Shell操作 3.1.HDFS文件系统 HDFS Shell 指的是可以使用类似shell的命令来直接和Hadoop分布式文件系统(HDFS)进行交互. 使用命令: bin/hado ...

  7. java 常用的api_Java中常用的API(一)——Object

    概述 如果要问Java为什么是用起来非常舒服的语言,那很大一部分的功劳就是JavaAPI的.API定义了许多封装好的类和方法供我们使用,来处理特定的问题,所以学习常用的API是非常重要的. 同时,面向 ...

  8. java+@api_Java 常用的api

    ## 常用的api ## #### 1.概述 #### > API(Application ProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与 ...

  9. 【收藏】HDFS的Java API使用

    Hadoop HDFS的Java API使用 https://blog.csdn.net/u010416101/article/details/88984618

最新文章

  1. Android线程池封装库
  2. Spring/Spring Boot微服务项目 集成Druid 实现监控功能
  3. nginx总结二(nginx的启动停止以及版本平滑升级)
  4. 《系统集成项目管理工程师》必背100个知识点-95我国信息化基本原则
  5. Boost:简单的双图bimap的测试程序
  6. requestURI的组成部分
  7. mdp框架_强化学习:MDP(Markov Decision Process)
  8. 用matlab画出M1和M2的ROC曲线,ROC曲线及其matlab实现ROC曲线的绘画
  9. 玩转短视频?守护视频安全?AI智能提速?一分钱体验? 阿里云视频点播大招盘点...
  10. Module build failed: Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.
  11. ASP.NET验证码
  12. ubuntu安装QQ教程
  13. 计算机指令vbs,vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
  14. Ins图片爬取(基于python,selenium)
  15. 朗豫:储备池和借贷是MOV重点发力的方向
  16. 我为什么鼓励你读计算机博士
  17. c语言中表明空格的是什么代码,C语言代码中的空白符表示什么
  18. 《C语言及程序设计》实践参考——n=a!+b!+c!
  19. OpenMP: VS2010配置使用OpenMP
  20. 蒟蒻のpython(记一个爬虫教程小网站)

热门文章

  1. 假如 Go 能说话,听听 GMP 的心声
  2. 音视频技术开发周刊 | 172
  3. 如何ALL IN一场技术大会?
  4. NGcodec谈FPGA编码与HEVC和AV1
  5. 俞栋谈腾讯AI Lab进展;腾讯AI加速器第二期开始招募
  6. 分支管理---Bug分支
  7. 10个Linux 系统性能监控命令行工具
  8. devStack安装OpenStack Ocata版本 (Linux Bridge+VLAN)
  9. kubernetes1.8.4安装指南 -- 2. ssh免密登录
  10. golang程序如何优雅地退出