HDFS的Java操作

时间:2023-12-06 12:22:14

实验环境:

Windows 10

Eclipse Mars.2 Release (4.5.2)

CentOS 7

Hadoop-2.7.3

先决条件:

  1) Windows上各环境变量已配置OK.  如: PATH, HADOOP_HOME;

2) 与Hadoop版本及Windows平台(x86或x64)对应的 hadoop.dll, winutils.exe工具已配置OK.

1.新建Java项目,如图:

HDFS的Java操作HDFS的Java操作

2.导入外部JAR包,即HDFS jar包:

3.Java代码:

package hdfsutil;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; public class HdfsUtil {
public static void main(String[] args) throws Exception { //构造一个配置参数的封装对象
Configuration conf = new Configuration();
//conf中会有一个参数: fs.defaultFS的默认值是file:/// 指本地文件系统URI
// conf.set("fs.defaultFS", "hdfs://192.168.80.128:9000"); //构造一个HDFS的客户端
// FileSystem fs = FileSystem.get(conf); FileSystem fs = FileSystem.get(new URI("hdfs://192.168.80.128:9000"), conf, "hadoop"); //用hdfs的文件系统的客户端对象fs来操作文件,比如上传一个文件
fs.copyFromLocalFile(new Path("C:/file.txt"), new Path("/user/hadoop/input/file.txt.4")); //上传完毕后,关闭客户端
fs.close();
}
}