文档章节

六:熟悉HDFS基本常用命令(一)

berg-dm
 berg-dm
发布于 2016/04/30 16:50
字数 499
阅读 80
收藏 0

 Hadoop命令学习-官网链接:

        http://hadoop.apache.org/docs/r2.6.4/hadoop-project-dist/hadoop-common/FileSystemShell.html

--------------------------------------------------------------------------------------------------------------------------

一.    创建HDFS文件: 

public class Test4CreateFile {
	/**
	 * 创建HDFS文件:
	 * */
	public static void main(String[] args) {
		try {
			Configuration conf = new Configuration();
			URI uri = new URI("hdfs://192.168.226.129:9000");
			byte[] buff = "Hello Hadoop HDFS".getBytes();
			FileSystem fs = FileSystem.get(uri, conf);
			Path dfs = new Path("hdfs://192.168.226.129:9000/studyhadoop");
			FSDataOutputStream outputStream = fs.create(dfs);
			outputStream.write(buff,0,buff.length);
			FileStatus files[] = fs.listStatus( dfs );
			for( FileStatus file:files){
				System.out.println( "file:  " + file.getPath() );
			}
		} catch (Exception e) {
			e.printStackTrace();
		}	
	}
}


二:删除HDFS文件

public class Test5DeleteFile {
	/**
	 * 删除HDFS文件:
	 * */
	public static void main(String[] args) {
		try {
			Configuration conf = new Configuration();
			URI uri = new URI("hdfs://192.168.226.129:9000");
			FileSystem fs = FileSystem.get(uri, conf);
			Path delef = new Path("hdfs://192.168.226.129:9000/testhadoop1");
			boolean isDeleted = fs.delete(delef, false);
			System.out.println( "isDelete: " + isDeleted );
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


三:创建HDFS目录

public class Test9Mkdir {
	/**
	 * HDFS下 创建目录文件
	 * */
	public static void main(String[] args) {
		try {
			Configuration conf = new Configuration();
			URI uri = new URI("hdfs://192.168.226.129:9000");
			FileSystem fs = FileSystem.get(uri, conf);
			Path dfs = new Path("hdfs://192.168.226.129:9000/testhadoop");
			boolean isMkdirs = fs.mkdirs(dfs);
			if( isMkdirs ){
				System.out.println( " Make Dir Successful ! ");
			}else{
				System.out.println( " Make Dir Failure ! ");
			}
			fs.close();
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (URISyntaxException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


四:重命名HDFS文件

public class Test2Rename {

	/**
	 * 重命名HDFS文件:
	 * */
	public static void main(String[] args) {
		try {
			Configuration conf = new Configuration();
			URI uri = new URI("hdfs://192.168.226.129:9000");
			FileSystem fs = FileSystem.get(uri,conf);
			Path oldpath = new Path("hdfs://192.168.226.129:9000/testhadoop");
			Path newpath = new Path("hdfs://192.168.226.129:9000/testhadoop1");
			//判断该文件是否存在
			boolean isExists = fs.exists(oldpath);
			System.out.println( "isExists: " +isExists );
			//重命名文件
			fs.rename(oldpath, newpath);
			isExists = fs.exists(newpath);
			System.out.println( "newpathisExists: " +isExists );
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}

}


五:上传本地文件至HDFS

public class Test3CopyFile {
	/**
	 * 上传本地文件到HDFS
	 * */
	public static void main(String[] args) {
		try {
			Configuration conf = new Configuration();
			URI uri = new URI("hdfs://192.168.226.129:9000");
			FileSystem fs = FileSystem.get(uri, conf);
			Path src = new Path("F:\\04-HadoopStudy\\mapreduce.txt");
			Path dst = new Path("hdfs://192.168.226.129:9000/rootdir");
			fs.copyFromLocalFile(src, dst);
			System.out.println("Upload " + conf.get("fs.default.name"));
			FileStatus files[] = fs.listStatus( dst );
			for( FileStatus file:files){
				System.out.println( file.getPath() );
			}
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}

}


六.    从HDFS下载文件至本地

public class Test10CopyToFile {
	/**
	 * 从HDFS下载文件至本地
	 * */
	public static void main(String[] args) {
		try {
			Configuration conf = new Configuration();
			URI uri = new URI("hdfs://192.168.226.129:9000");
			FileSystem fs = FileSystem.get(uri, conf);
			Path src = new Path("F:\\");
			Path dst = new Path("hdfs://192.168.226.129:9000/studyhadoop");
			fs.copyToLocalFile(dst, src);
			System.out.println("DownLoad " + conf.get("fs.default.name"));
			FileStatus files[] = fs.listStatus( dst );
			for( FileStatus file:files){
				System.out.println( file.getPath() );
			}
		} catch (IllegalArgumentException e) {
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (URISyntaxException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}






© 著作权归作者所有

berg-dm
粉丝 26
博文 98
码字总数 88970
作品 0
深圳
程序员
私信 提问
【Hadoop】之 熟悉常用的HDFS操作

参考: http://www.jianshu.com/p/0663d74b79b5 一、实现目的 理解HDFS在Hadoop体系结构中的角色 熟练使用HDFS操作常用的Shell命令 熟悉HDFS操作常用的Java API 二、实验平台 操作系统:Ubu...

fanfan4569
2017/09/03
0
0
[上海] 我想应聘java web开发职位(谢谢)

1.毕业1年,但是实际工作有2年啦,现在外派一家大的外企(外包),做企业级,(自己单打独斗) 需求分析+开发+测试(2个人)+上线(1个人) 2.实习那年是做互联网项目的(那时候就独立做模块啦) 3.熟悉基本...

skyim
2013/07/19
378
2
大数据经典学习路线(及供参考)之 一

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此...

柯西带你学编程
2018/05/22
0
0
深入浅出、点金赋能!Hadoop体系大数据开发案例实战

感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定! 课程名称:深入浅出、点金赋...

天善智能
2018/01/03
0
0
七:熟悉HDFS基本常用命令(二)

一:查看HDFS文件的最后修改时间 public class Test6GetLTime { /** * 查看HDFS文件的最后修改时间 /public static void main(String[] args) { try {Configuration conf = new Configuratio......

牧羊人Berg
2016/04/30
114
0

没有更多内容

加载失败,请刷新页面

加载更多

高速PCB设计软件allegro中与网络有关的约束规则设置

在allegro pcb的设计过程中,设计约束规则包括时序规则、间距规则、信号完整性规则以及物理规则等,本期主要详细讲解与物理、间距与电气约束中的线宽、线间距物理规则的设置。 一、线宽设置 ...

demyar
20分钟前
2
0
Linux 启动停止SpringBoot jar 程序部署Shell 脚本

#!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAME=algorithm.jar #使用说明,用来提示输入参数 usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status]...

草庐过客
22分钟前
3
0
mysql-connector-java驱动升级到8.0后数据库保存时间出现时差

1.问题:在一个新项目中用到了新版的mysql jdbc 驱动后,发现保存到数据库的时间出现了时差 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>......

ValSong
23分钟前
3
0
好程序员大数据教程Scala系列之隐式转换和隐式参数

5.1. 概念 隐式转换和隐式参数是Scala中两个非常强大的功能,利用隐式转换和隐式参数,你可以提供优雅的类库,对类库的使用者隐匿掉那些枯燥乏味的细节。 5.2. 作用 隐式的对类的方法进行增强...

好程序员官网
28分钟前
3
0
多线程必备

初次接触线程,可能有很多初学者搞不明白,始终云里雾里,那么本篇文章直接带大家介绍多线程必须知道的几个点 接下来没有多余,直接上干货 1. 进程和线程的区别是什么? 进程是执行着的应用程序,...

理性思考
31分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部