Java代码操作txt文件上传到HDFS上的示例代码
时间: 2024-09-27 07:04:36 浏览: 38
在Java中,操作文本文件并将其上传到Hadoop Distributed File System (HDFS)通常涉及使用Hadoop的FileSystem API。首先,你需要在项目中添加Hadoop的依赖。下面是一个简单的示例代码片段,展示了如何读取本地文件然后上传到HDFS:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.FileInputStream;
import java.io.IOException;
public class FileUploader {
public static void main(String[] args) throws IOException {
// 创建Hadoop配置对象
Configuration conf = new Configuration();
// 配置HDFS连接信息,例如 Namenode的地址
conf.set("fs.defaultFS", "hdfs://your_namenode_address:port"); // 替换为实际的地址
// 初始化FileSystem实例
FileSystem fs = FileSystem.get(conf);
// 定义本地文件路径和HDFS目标路径
String localFilePath = "/path/to/your/local/textfile.txt";
String hdfsTargetPath = "/path/in/hdfs/you/want/to/upload";
// 使用FileSystem将文件复制到HDFS
FileInputStream fis = new FileInputStream(localFilePath);
Path targetPath = new Path(hdfsTargetPath);
fs.copyFromLocalFile(new Path(localFilePath), targetPath);
System.out.println("File uploaded successfully to HDFS at " + hdfsTargetPath);
// 关闭资源
fis.close();
fs.close();
}
}
```
注意:这个例子假设你已经在集群上安装了Hadoop并且可以访问NameNode。此外,记得替换`your_namenode_address`、`port`以及`localFilePath`和`hdfsTargetPath`为你的实际值。
阅读全文