java–HDFS文件操作实现
全局静态变量:hdfs的地址和端口号
private static String HDFSUri = "hdfs://10.8.177.29:8020";
1. 获取文件系统
/**
* 获取文件系统
*
* @return FileSystem 文件系统
*/
public static FileSystem getFileSystem() {
//读取配置文件
Configuration conf = new Configuration();
// 文件系统
FileSystem fs = null;
String hdfsUri = HDFSUri;
if(StringUtils.isBlank(hdfsUri)){
// 返回默认文件系统 如果在 Hadoop集群下运行,使用此种方法可直接获取默认文件系统
try {
fs = FileSystem.get(conf);
} catch (IOException e) {
e.printStackTrace();
}
}else{
// 返回指定的文件系统,如果在本地测试,需要使用此种方法获取文件系统
try {
URI uri = new URI(hdfsUri.trim());
fs = FileSystem.get(uri,conf);
} catch (Exception e) {
e.printStackTrace();
}
}
return fs;
}
2. 创建文件目录
入参是创建的文件目录的地址
/**
* 创建文件目录
*
* @param path 文件路径
*/
public static void m
java–HDFS文件操作实现
全局静态变量:hdfs的地址和端口号
private static String HDFSUri = "hdfs://10.8.177.29:8020";
1. 获取文件系统
/**
* 获取文件系统
*
* @return FileSystem 文件系统
*/
public static FileSystem getFileSystem() {
//读取配置文件
Configuration conf = new Configuration();
// 文件系统
FileSystem fs = null;
String hdfsUri = HDFSUri;
if(StringUtils.isBlank(hdfsUri)){
// 返回默认文件系统 如果在 Hadoop集群下运行,使用此种方法可直接获取默认文件系统
try {
fs = FileSystem.get(conf);
} catch (IOException e) {
e.printStackTrace();
}
}else{
// 返回指定的文件系统,如果在本地测试,需要使用此种方法获取文件系统
try {
URI uri = new URI(hdfsUri.trim());
fs = FileSystem.get(uri,conf);
} catch (Exception e) {
e.printStackTrace();
}
}
return fs;
}
2. 创建文件目录
入参是创建的文件目录的地址
/**
* 创建文件目录
*
* @param path 文件路径
*/
public static void m