Java客户端如何向/从远程HDFS服务器上载/下载文件?

时间:2016-02-25 12:16:17

标签: java maven hadoop hdfs

我在Fedora虚拟机(在VMware工作站中)运行Hadoop-2.7.1 HDFS的伪模式。我可以使用hadoop hdfs shell命令在Fedora上传/下载本地文件。

但是如何编写一个简单的java类来从我的Windows主机上传/下载文件?

我找到了一些示例代码:

FileSystem fs = FileSystem.get(new Configure());
Path local_file = new Path("testfile.txt");
Path remote_path = new Path("/");
fs.copyFromLocal(local_file, remote_path);

但是我在Maven存储库中找到了hadoop-core-1.2.jar,但它的版本太旧了2.7.1。 我不知道用于导入HDFS java类的jar包。

1 个答案:

答案 0 :(得分:1)

使用以下maven配置尝试此示例using-filesystem-api-to-read-and-write-data-to-hdfs代码:

<properties>
    <hadoop.version>2.7.0</hadoop.version>
    <hadoop.core>1.2.1</hadoop.core>
</properties>

<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>${hadoop.core}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>${hadoop.version}</version>
    </dependency>
</dependencies>