在HDFS中将文件从源路径移动到目的路径。

import java.text.SimpleDateFormat;
import java.util.Scanner;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator; public class J_moveFile { public static void DelFile(FileSystem fs, Path p_remotepath) {
try {
if (fs.delete(p_remotepath, true)) {
System.out.println("del successfully");
} else {
System.out.println("del fail");
}
} catch (Exception e) {
e.printStackTrace();
}
} public static void ReadFilesStatus(FileStatus fileinfo) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("file path :" + fileinfo.getPath());
} public static void GetAllFilePath(FileStatus fileinfo, FileSystem fs) {
try {
String s_path = "/user";
Path p_path = new Path(s_path);
RemoteIterator<LocatedFileStatus> remoteIterator = fs.listFiles(
p_path, true);
while (remoteIterator.hasNext()) {
fileinfo = remoteIterator.next();
ReadFilesStatus(fileinfo);
}
} catch (Exception e) {
e.printStackTrace();
}
} public static void MoveFile(FileSystem fs, String s_remotepath,
Path p_remotepath_src, Path p_remotepath_dst) {
try {
String s_tmppath = "/home/hadoop/tmpfile/";
String[] split_path = s_remotepath.split("/");
String filename = split_path[split_path.length - 1];
s_tmppath = s_tmppath + filename;
Path p_tmppath = new Path(s_tmppath);
fs.moveToLocalFile(p_remotepath_src, p_tmppath);
fs.moveFromLocalFile(p_tmppath, p_remotepath_dst);
System.out.println("MoveFile successfully");
} catch (Exception e) {
e.printStackTrace();
}
} public static void main(String arg[]) {
try {
Var_init var = new Var_init();
GetAllFilePath(var.fileinfo, var.fs);
System.out
.println("plz input the file u want to move like /user/hadoop/test /user/hadoop/qwq/");
Scanner sc = new Scanner(System.in);
String src_path = sc.next();
String dst_path = sc.next();
Path src_remotepath = new Path(src_path);
Path dst_remotepath = new Path(dst_path); MoveFile(var.fs, src_path, src_remotepath, dst_remotepath);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Var_init类参考https://www.cnblogs.com/MiraculousB/p/13848744.htm
在HDFS中将文件从源路径移动到目的路径。的更多相关文章
- Spark中加载本地(或者hdfs)文件以及SparkContext实例的textFile使用
默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读 本地文件读取 sc.textFile("路 ...
- HDFS dfsclient写文件过程 源码分析
HDFS写入文件的重要概念 HDFS一个文件由多个block构成.HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的.每一个packet由若干个chunk( ...
- HDFS写文件过程分析
转自http://shiyanjun.cn/archives/942.html HDFS是一个分布式文件系统,在HDFS上写文件的过程与我们平时使用的单机文件系统非常不同,从宏观上来看,在HDFS文件 ...
- HDFS常用文件操作
put 上传文件 hadoop fs -put wordcount.txt /data/wordcount/ text 查看文件内容 hadoop fs -text /output/wo ...
- HDFS读文件过程分析:读取文件的Block数据
转自http://shiyanjun.cn/archives/962.html 我们可以从java.io.InputStream类中看到,抽象出一个read方法,用来读取已经打开的InputStrea ...
- eclipse查看class文件的源码
eclipse查看class文件的源码: 1.网上下载jadClipse的jar包和执行文件jad.exe和 net.sf.jadclipse_3.3.0.jar. 2.把上面下载的jar包放在ecp ...
- 使用oracle的大数据工具ODCH访问HDFS数据文件
软件下载 Oracle Big Data Connectors:ODCH 下载地址: http://www.oracle.com/technetwork/bdc/big-data-connectors ...
- Java文件操作源码大全
Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...
- 实现目标文件与源码分开的makefile测试实验
uboot提供了两种编译策略,即可以将生成的目标文件与源码混在一起,也可以将生成的目标文件与源码分开.通过对uboot Makefile的分析,笔者编写了一个简单的实现这种功能的Makfile. 顶层 ...
随机推荐
- java instanceof 判断是否是String
if(formbean.getBean().get("RZZGMCM") instanceof String){ formbean.getBean().put("RZZG ...
- 使用metadata-extractor获取照片中的位置、曝光度、大小...
使用metadata-extractor实现获取图片中的属性信息 官网:https://drewnoakes.com/code/exif/ 简介:metadata-extractor允许您通过简单的A ...
- 不是RESTful不好,是你姿势有问题
文章来源:https://ningyu1.github.io/site/post/01-restful-design-specifications/ 一. 摘要(Abstract) RESTful A ...
- android stdio 打包
1.Build -> Generate Signed APK...,打开如下窗口 2.假设这里没有打过apk包,点击Create new,窗口如下 这里只要输入几个必要项 Key store p ...
- FTP服务器的搭建和使用(centos7)
1.显示如下图则表示已安装vsftp软件 如过没有则可以通过yum源进行安装 yum install -y vsftpd 操作:service vsftpd start|stop|restart 2. ...
- 《Go 语言并发之道》读后感 - 第一章
<Go 语言并发之道>读后感 - 第一章 前言 人生路漫漫,总有一本书帮助你在某条道路上打通任督二脉,<Go 语言并发之道>就是我作为一个 Gopher 道路上的一本打通任督二 ...
- apply 和 call的用法、区别
1.JavaScript中函数是对象的方法,如果一个函数不是js对象的方法那一定是全局对象的函数,每个函数的对象都有apply和call方法,即每个对象都有call and apply apply:调 ...
- Label_table
<table border(边框) = "" width = height = align = bordercolor(边框色) = cellspacing 表格边框与单元格 ...
- Spring Boot 计划任务中的一个“坑”
计划任务功能在应用程序及其常见,使用Spring Boot的@Scheduled 注解可以很方便的定义一个计划任务.然而在实际开发过程当中还应该注意它的计划任务默认是放在容量为1个线程的线程池中执行, ...
- Flink SQL结合Kafka、Elasticsearch、Kibana实时分析电商用户行为
body { margin: 0 auto; font: 13px / 1 Helvetica, Arial, sans-serif; color: rgba(68, 68, 68, 1); padd ...