【问题标题】:Managing dependencies with Hadoop Streaming?使用 Hadoop Streaming 管理依赖项?
【发布时间】:2010-05-19 01:46:32
【问题描述】:

我有一个关于 Hadoop 流的快速问题。如果我正在使用 Python 流并且我有我的映射器/减速器需要但默认未安装的 Python 包,我是否需要在所有 Hadoop 机器上安装这些包,或者是否有某种序列化将它们发送到远程机器?

【问题讨论】:

标签: python hadoop mapreduce hadoop-streaming


【解决方案1】:

如果您的任务箱上没有安装它们,您可以使用 -file 发送它们。如果您需要一个包或其他目录结构,您可以发送一个 zipfile,它将为您解压。这是一个 Haddop 0.17 调用:

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-0.17.0-streaming.jar -mapper mapper.py -reducer reducer.py -input input/foo -output output -file /tmp/foo.py -file /tmp/lib.zip

但是,请参阅此问题以获取警告:

https://issues.apache.org/jira/browse/MAPREDUCE-596

【讨论】:

    【解决方案2】:

    如果你使用 Dumbo,你可以使用 -libegg 来分发 egg 文件并自动配置 Python 运行时:

    https://github.com/klbostee/dumbo/wiki/Short-tutorial#wiki-eggs_and_jars https://github.com/klbostee/dumbo/wiki/Configuration-files

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-04
      • 2015-06-06
      • 2011-04-07
      • 2023-04-09
      • 1970-01-01
      • 2015-03-20
      • 1970-01-01
      • 2015-04-06
      相关资源
      最近更新 更多