import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
/*
在HDFS中创建文件夹
*/
public Object createPathOnHDFS(String pathName) {
System.setProperty("hadoop.home.dir", "D:\\bigdata\\Hadoop\\hadoop-2.7.2");
Configuration conf = new Configuration();
try {
FileSystem fileSystem = FileSystem.get(new URI("hdfs://10.0.91.96:8020"), conf, "hdfs");
Path path = new Path(pathName);
Boolean success = fileSystem.createNewFile(path);
System.out.println(success);
if (success) {
LOGGER.info("创建成功");
} else {
LOGGER.info("创建失败");
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/*
在HDFS中查看文件夹是否存在
*/
public Object hasPathOnHDFS(String pathName) {
System.setProperty("hadoop.home.dir", "D:\\bigdata\\Hadoop\\hadoop-2.7.2");
Configuration conf = new Configuration();
try {
FileSystem fileSystem = FileSystem.get(new URI("hdfs://10.0.91.96:8020"), conf, "hdfs");
Path path = new Path(pathName);
Boolean isExist = fileSystem.exists(path);
System.out.println(isExist);
if (isExist) {
LOGGER.info("该文件夹已经存在");
} else {
LOGGER.info("该文件夹不存在");
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/*
在HDFS中删除文件夹
*/
public Object deletePathOnHDFS(String pathName) {
System.setProperty("hadoop.home.dir", "D:\\bigdata\\Hadoop\\hadoop-2.7.2");
Configuration conf = new Configuration();
try {
FileSystem fileSystem = FileSystem.get(new URI("hdfs://10.0.91.96:8020"), conf, "hdfs");
Path path = new Path(pathName);
//删除文件
boolean delete = fileSystem.delete(path, true);
fileSystem.close();
if (delete) {
LOGGER.info("删除成功");
} else {
LOGGER.info("删除失败");
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}