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

标签 hadoop hdfs utility

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

WebHDFS 可以是一种选择,但很想知道是否还有其他可用的。

有什么建议么?

最佳答案

我通常制作一个 maven 项目,然后将此依赖项添加到我的 pom.xml 文件中:

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

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

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();

这是一个非常简单的程序。我认为你必须做的步骤是:
  • 让用户选择要推送的输入/数据
  • 使用 hadoop java api 将文件/数据发送到您的集群
  • 给用户一些反馈。

  • 您还可以将信息附加到文件中,而不仅仅是创建新文件。

    看一下文档:https://hadoop.apache.org/docs/current/api/

    关于hadoop - 将数据推送到 HDFS 的实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33451741/

    相关文章:

    hadoop - Hive 从表中选择复杂类型

    apache-spark - yarn 容量调度器 : Share resource between users and queues

    hadoop - Spark 作业出错,出现 : Too many elements to create a power set 34

    compiler-construction - 用于编译/反编译二进制数据文件的通用实用程序或库?

    python - 使用 Python 实现触摸?

    linux - 在 Linux 上预览 unicode 字体

    jdbc - Hive JDBC 与 CLI 客户端

    hadoop - 如何在 Amazon EMR 上重启 HDFS

    hadoop - 从 udf 访问 hdfs 文件

    oracle - 如何将大表从 oracle db 到 hdfs?