下面是 “Hadoop入门之通过Java代码实现将本地文件上传到Hadoop的文件系统”的攻略。
步骤一:安装Hadoop
首先需要安装配置好Hadoop。具体安装过程这里不再赘述,可以参考官方文档:https://hadoop.apache.org/docs/r3.2.2/index.html
步骤二:引入Hadoop的依赖包
在java项目中使用Hadoop需要引入以下依赖:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.2.2</version>
</dependency>
步骤三:编写上传文件的Java代码
下面是一个通过Java代码将本地文件上传到Hadoop的示例:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
public class UploadFileToHdfsExample {
private static final Logger logger = LoggerFactory.getLogger(UploadFileToHdfsExample.class);
public static void main(String[] args) throws IOException {
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://localhost:9000");
FileSystem fileSystem = FileSystem.get(configuration);
// 本地文件路径
String localFilePath = "/path/to/local/file.txt";
// Hadoop文件系统中的文件路径
String hdfsFilePath = "/path/to/hdfs/file.txt";
Path localPath = new Path(localFilePath);
Path hdfsPath = new Path(hdfsFilePath);
// 上传文件
fileSystem.copyFromLocalFile(localPath, hdfsPath);
logger.info("File uploaded successfully.");
}
}
示例一:上传本地文件到Hadoop文件系统
假设有一个名为“demo.txt”的本地文件,现在需要将它上传到Hadoop的文件系统中。
首先,需要将本地文件上传到Hadoop的某一目录下:
// 本地文件路径
String localFilePath = "/path/to/local/demo.txt";
// Hadoop文件系统中的文件路径
String hdfsFilePath = "/path/to/hdfs/demo.txt";
// 上传文件
fileSystem.copyFromLocalFile(new Path(localFilePath), new Path(hdfsFilePath));
执行完上述代码,文件已经上传到Hadoop的文件系统中了。
示例二:上传整个目录到Hadoop文件系统
如果需要上传整个目录到Hadoop的文件系统中,可以使用以下代码:
// 本地目录路径
String localDirPath = "/path/to/local/dir";
// Hadoop文件系统中的目录路径
String hdfsDirPath = "/path/to/hdfs/dir";
// 上传目录
fileSystem.copyFromLocalFile(false, true, new Path(localDirPath), new Path(hdfsDirPath));
这样整个目录就被上传到了Hadoop的文件系统中。
到此,我们就完成了 将本地文件上传到Hadoop文件系统 的整个步骤。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:hadoop入门之通过java代码实现将本地文件上传到hadoop的文件系统 - Python技术站