用于将数据推送到HDFS的实用程序

时间:2015-10-31 12:45:01

标签: hadoop hdfs utility

我需要为基于unix / Windows的系统构建一个通用实用程序,以将数据推送到hadoop系统。用户可以从任何平台运行该实用程序,并且应该能够将数据推送到HDFS。

WebHDFS可以是其中一个选项,但很想知道是否有其他可用的东西。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我通常会创建一个maven项目,并将此依赖项添加到我的pom.xml文件中:

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>2.6.1</version>
</dependency>

然后使用hadoop java api将数据推送到HDFS非常简单,这是一个简单的例子,只是为了看看它是如何工作的:

String namenodeLocation = "hdfs://[your-namenode-ip-address]:[hadoop:listening-port]/";

Configuration configuration = new Configuration();
FileSystem hdfs = FileSystem.get( new URI( namenodeLocation ), configuration );
Path file = new Path(namenodeLocation+"/myWonderful.data");

FSDataOutputStream outStream = hdfs.create(file);

byte[] coolDataToPushToHDFS = new byte[1500];

outStream.write(coolDataToPushToHDFS);
outStream.close();

hdfs.close();

这是一个非常简单的程序。我认为你必须做的步骤是:

  1. 让用户选择要推送的输入/数据
  2. 使用hadoop java api将文件/数据发送到您的群集
  3. 向用户提供一些反馈。
  4. 您还可以将信息附加到文件,而不仅仅是创建新文件。

    查看文档:{​​{3}}