我需要为基于unix/windows的系统构建一个公共实用程序,以便将数据推送到hadoop系统中。用户可以从任何平台运行该实用程序,并且应该能够将数据推送到hdfs中。webhdfs可以是一种选择,但很想知道是否还有其他可用的东西。有什么建议吗?
r1zk6ea11#
我通常创建一个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();
这是一个非常简单的程序。我认为你要做的步骤是:让用户选择要推送的输入/数据使用hadoopjavaapi将文件/数据发送到集群给用户一些反馈。您还可以将信息附加到文件,而不仅仅是创建新文件。查看文档:https://hadoop.apache.org/docs/current/api/
1条答案
按热度按时间r1zk6ea11#
我通常创建一个maven项目,并将此依赖项添加到pom.xml文件中:
然后将数据推入hdfs—使用hadoop java api非常简单,下面是一个简单的示例,以了解其工作原理:
这是一个非常简单的程序。我认为你要做的步骤是:
让用户选择要推送的输入/数据
使用hadoopjavaapi将文件/数据发送到集群
给用户一些反馈。
您还可以将信息附加到文件,而不仅仅是创建新文件。
查看文档:https://hadoop.apache.org/docs/current/api/