HDFS常用的Api
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相关推荐
- HDFS基本操作的API
一.从hdfs下载文件到windows本地: package com.css.hdfs01;import java.io.IOException; import java.net.URI; impor ...
- HDFS常用端口及参数释义
hdfs 常用端口和 hdfs-default配置文件参数的意义: https://www.cnblogs.com/duanxz/p/3799467.html Hadoop 2.x常用端口及查看方法: ...
- java hadoop api_Hadoop 系列HDFS的Java API( Java API介绍)
HDFS的Java API Java API介绍 将详细介绍HDFS Java API,一下节再演示更多应用. Java API 官网 如上图所示,Java API页面分为了三部分,左上角是包(Pac ...
- java向hdfs提交命令_Java语言操作HDFS常用命令测试代码
本文主要向大家介绍了Java语言操作HDFS常用命令测试代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. package com.yxc.hdfs; import org.apac ...
- Elasticsearch入常用RESTful API总结
RESTful API HTTP动词介绍 对于资源的具体操作类型,由HTTP动词表示. 常用的HTTP动词有下面五个(括号里是对应的SQL命令). GET(SELECT):从服务器取出资源(一项或多项 ...
- 学习笔记Hadoop(十)—— Hadoop基础操作(2)—— HDFS常用Shell操作
三.HDFS常用Shell操作 3.1.HDFS文件系统 HDFS Shell 指的是可以使用类似shell的命令来直接和Hadoop分布式文件系统(HDFS)进行交互. 使用命令: bin/hado ...
- java 常用的api_Java中常用的API(一)——Object
概述 如果要问Java为什么是用起来非常舒服的语言,那很大一部分的功劳就是JavaAPI的.API定义了许多封装好的类和方法供我们使用,来处理特定的问题,所以学习常用的API是非常重要的. 同时,面向 ...
- java+@api_Java 常用的api
## 常用的api ## #### 1.概述 #### > API(Application ProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与 ...
- 【收藏】HDFS的Java API使用
Hadoop HDFS的Java API使用 https://blog.csdn.net/u010416101/article/details/88984618
最新文章
- Android线程池封装库
- Spring/Spring Boot微服务项目 集成Druid 实现监控功能
- nginx总结二(nginx的启动停止以及版本平滑升级)
- 《系统集成项目管理工程师》必背100个知识点-95我国信息化基本原则
- Boost:简单的双图bimap的测试程序
- requestURI的组成部分
- mdp框架_强化学习:MDP(Markov Decision Process)
- 用matlab画出M1和M2的ROC曲线,ROC曲线及其matlab实现ROC曲线的绘画
- 玩转短视频?守护视频安全?AI智能提速?一分钱体验? 阿里云视频点播大招盘点...
- Module build failed: Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.
- ASP.NET验证码
- ubuntu安装QQ教程
- 计算机指令vbs,vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
- Ins图片爬取(基于python,selenium)
- 朗豫:储备池和借贷是MOV重点发力的方向
- 我为什么鼓励你读计算机博士
- c语言中表明空格的是什么代码,C语言代码中的空白符表示什么
- 《C语言及程序设计》实践参考——n=a!+b!+c!
- OpenMP: VS2010配置使用OpenMP
- 蒟蒻のpython(记一个爬虫教程小网站)