1. 根据配置文件得到三个待用目录
本地文件目录 (待上传目录)
hdfs远程文件备份目录(hdfs备用目录)
hdfs远程文件归档目录(hdfs正式路径)
hdfs的文件操作封装成工具类,随时供调用
public class HDFSUtil {
protected static Configuration conf;
protected FileSystem hdfs;
private Comparator<? super LocatedFileStatus> fileCompare;
public HDFSUtil() {
try {
if (conf == null) {
conf = new Configuration();
}
//获取配置的文件系统
hdfs = FileSystem.get(conf);
} catch (IOException e) {
throw new BaseException("HDFS读取配置文件获取连接操作异常!");
}
//文件比较器定义,即修改时间不同的文件,即为“不同的”文件
fileCompare = new Comparator<LocatedFileStatus>() {
@Override
public int compare(LocatedFileStatus o1, LocatedFileStatus o2) {
int rs = 0;
long l1 = o1.getModificationTime();
long l2 = o2.getModificationTime();
if (l1 > l2) {
rs = 1;
} el