hadoop - hadoop中存储输入/输出文件的位置以及如何在hadoop中执行java文件?

时间:2011-03-21 10:19:11

标签: hadoop

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

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

3 个答案:

答案 0 :(得分:1)

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

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

此处提出类似问题Executing helloworld.java in apache hadoop

答案 1 :(得分:0)

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

  1. 将您的map/reduce课程和main课程编入jar。我们称这个jar为myjob.jar
    • 此jar不需要包含Hadoop库,但它应该包含您拥有的任何其他依赖项。
    • 您的主要方法应设置并运行您的地图/减少作业here is an example
  2. 将此jar放在安装了hadoop命令行实用程序的任何计算机上。
  3. 使用hadoop命令行实用程序运行main方法:
    • hadoop jar myjob.jar
  4. 希望有所帮助。

答案 2 :(得分:0)

  1. 文件应该保存在哪里?
  2. 数据应保存在" hdfs"中。您可能希望使用Apache Flume之类的东西从数据源将其加载到集群中。该文件可以放在任何地方,但大多数家庭是/ user / hadoop /

    1. 如何从hadoop访问它?
    2. SSH进入hadoop集群头节点,就像标准的linux服务器一样。

      列出你的hadoop root hdfs hadoop fs -ls /

      1. 我应该通过以下命令调用它吗? hadoop classname
      2. 您应该使用hadoop命令访问您的数据并运行您的程序,试试hadoop help

        1. hadoop中执行java文件的命令是什么?
        2. hadoop -jar MyJar.jar com.mycompany.MainDriver arg[0] arg[1] ...