繁体   English   中英

hadoop-hadoop中的输入/输出文件存储在哪里,以及如何在hadoop中执行Java文件?

[英]hadoop - Where are input/output files stored in hadoop and how to execute java file in hadoop?

假设我编写了一个Java程序,并且想在Hadoop中运行它,然后

  1. 文件应保存在哪里?
  2. 如何从hadoop访问它?
  3. 我应该通过以下命令调用它吗? hadoop classname
  4. hadoop中执行Java文件的命令是什么?

我能想到的最简单的答案是:

1)任何地方
2,3,4) $HADOOP_HOME/bin/hadoop jar [path_to_your_jar_file]

在这里问了类似的问题在apache hadoop中执行helloworld.java

它可能看起来很复杂,但是比您想象的要简单!

  1. 将您的map/reduce类和main类编译到jar中。 我们将此罐myjob.jar
    • 该jar不需要包含Hadoop库,但应包含您具有的任何其他依赖关系。
    • 您的主要方法应设置并运行地图/归约工作, 这是一个示例
  2. 将此jar放在安装了hadoop命令行实用程序的任何计算机上。
  3. 使用hadoop命令行实用程序运行您的main方法:
    • hadoop jar myjob.jar

希望能有所帮助。

  1. 文件应保存在哪里?

数据应保存在“ hdfs”中。 您可能希望使用Apache Flume之类的工具将其从数据源加载到集群中。 该文件可以放在任何位置,但大多数位置是/ user / hadoop /

  1. 如何从hadoop访问它?

像标准linux服务器一样,通过SSH进入hadoop集群头节点。

列出您的hadoop根hdfs hadoop fs -ls /

  1. 我应该通过以下命令调用它吗? hadoop classname

您应该使用hadoop命令来访问数据并运行程序,请尝试使用hadoop help

  1. hadoop中执行Java文件的命令是什么?

hadoop -jar MyJar.jar com.mycompany.MainDriver arg[0] arg[1] ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM