hdfs上传文件的代码
时间: 2024-10-23 17:21:35 浏览: 21
本地文件上传到HDFS的demo代码
在Hadoop分布式文件系统(HDFS)上上传文件通常涉及到使用Hadoop的API或者命令行工具`hadoop fs`。这里是一个简单的Java示例,展示了如何使用Apache Hadoop的FileSystem API来上传文件:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HdfsFileUploader {
public static void main(String[] args) throws Exception {
// 设置HDFS配置
Configuration conf = new Configuration();
String hdfsUrl = "your_hdfs_namenode_url"; // 例如:hdfs://localhost:9000
FileSystem fs = FileSystem.get(conf);
// 指定要上传的本地文件路径
Path localFilePath = new Path("path_to_your_local_file");
// 指定HDFS的目标路径
Path hdfsTargetPath = new Path(hdfsUrl + "/path/to/upload/in/hdfs");
// 使用FSDataOutputStream将文件写入HDFS
fs.copyFromLocalFile(localFilePath, hdfsTargetPath);
System.out.println("File uploaded successfully to " + hdfsTargetPath);
fs.close(); // 关闭连接
}
}
```
在这个例子中,你需要替换`your_hdfs_namenode_url`为你实际Hadoop集群的NameNode地址,并指定本地文件和目标HDFS路径。
如果你使用的是命令行工具,你可以这样做:
```bash
hadoop dfs -put /path/to/local/file /path/to/upload/in/hdfs
```
这会将`local/file`复制到HDFS的`/path/to/upload/in/hdfs`目录下。
阅读全文