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中将文件从源路径移动到目的路径。的更多相关文章

  1. Spark中加载本地(或者hdfs)文件以及SparkContext实例的textFile使用

    默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读 本地文件读取 sc.textFile("路 ...

  2. HDFS dfsclient写文件过程 源码分析

    HDFS写入文件的重要概念 HDFS一个文件由多个block构成.HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的.每一个packet由若干个chunk( ...

  3. HDFS写文件过程分析

    转自http://shiyanjun.cn/archives/942.html HDFS是一个分布式文件系统,在HDFS上写文件的过程与我们平时使用的单机文件系统非常不同,从宏观上来看,在HDFS文件 ...

  4. HDFS常用文件操作

    put 上传文件    hadoop fs -put wordcount.txt   /data/wordcount/ text 查看文件内容   hadoop fs -text /output/wo ...

  5. HDFS读文件过程分析:读取文件的Block数据

    转自http://shiyanjun.cn/archives/962.html 我们可以从java.io.InputStream类中看到,抽象出一个read方法,用来读取已经打开的InputStrea ...

  6. eclipse查看class文件的源码

    eclipse查看class文件的源码: 1.网上下载jadClipse的jar包和执行文件jad.exe和 net.sf.jadclipse_3.3.0.jar. 2.把上面下载的jar包放在ecp ...

  7. 使用oracle的大数据工具ODCH访问HDFS数据文件

    软件下载 Oracle Big Data Connectors:ODCH 下载地址: http://www.oracle.com/technetwork/bdc/big-data-connectors ...

  8. Java文件操作源码大全

    Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...

  9. 实现目标文件与源码分开的makefile测试实验

    uboot提供了两种编译策略,即可以将生成的目标文件与源码混在一起,也可以将生成的目标文件与源码分开.通过对uboot Makefile的分析,笔者编写了一个简单的实现这种功能的Makfile. 顶层 ...

随机推荐

  1. 不同程序语言处理加密算法的性能对比(PHP/Golang/NodeJS)

    首先上我最常用且最易用的PHP来做下测试 <?php function test_encrypt($fun, $max) { $begin = microtime(TRUE); $pwdpre ...

  2. Autofac官方文档翻译--二、解析服务--1解析参数传递

    Autofac 传递解析参数 注册组件公开相应的服务之后,你可以从container构造器和子lifetime scopes 中解析服务.使用Resolve()方法来实现: var builder = ...

  3. 在IDEA中的cannot_resolve_method解决方法

    打开IDEA编辑器,点击编辑器左上角file,出现菜单栏,点击菜单栏中的Settings选项.   在出现的Settings窗口中的左侧菜单栏中找到Plugins选项,点击进入'Plugins'窗口. ...

  4. 配置 nginx 访问资源目录,nginx配置 root 与 alias 的区别

    比如说想要把 /home/source 目录作为资源目录,那么需要如下配置: location /source/ { #识别url路径后,nginx会到/home/文件路径下,去匹配/source r ...

  5. 栈面板类StackPane?

    创建栈面板,将在其上放置两个按钮,并用样式属性设置按钮和栈面板的外观样式. package yuan; //栈面板的应用 import javafx.application.Application; ...

  6. 表单综合HTML

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. Socket.io详解

    socket.io是一个跨浏览器支持WebSocket的实时通讯的JS. http://socket.io/docs/ 由于HTTP是无状态的协议,要实现即时通讯非常困难.因为当对方发送一条消息时,服 ...

  8. Hadoop之WordCount

    求平均数是MapReduce比较常见的算法,求平均数的算法也比较简单,一种思路是Map端读取数据,在数据输入到Reduce之前先经过shuffle,将map函数输出的key值相同的所有的value值形 ...

  9. Node 跨域问题 Access to XMLHttpRequest at 'http://localhost:8080/api/user/login' from origin 'http://localhost:808

    人不可能踏进同一条河流,我可以一天在同一个问题上摔倒两次. 这次是跨域问题,都是泪,教程提供的服务端代码虽然配置了文件,但是依然是没有解决跨域问题,依然报错 Request header field ...

  10. springboot源码解析-管中窥豹系列之aware(六)

    一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...