python - 使用 Hadoop Streaming 管理依赖关系?

标签 python hadoop mapreduce hadoop-streaming

我有一个快速的 Hadoop Streaming 问题。如果我正在使用 Python 流式传输并且我有我的映射器/缩减器需要但默认情况下没有安装的 Python 包,我是否也需要在所有 Hadoop 机器上安装它们,或者是否有某种序列化将它们发送到远程机器?

最佳答案

如果它们没有安装在您的任务箱中,您可以使用 -file 发送它们。如果您需要一个包或其他目录结构,您可以发送一个 zip 文件,它会为您解压。这是一个 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

关于python - 使用 Hadoop Streaming 管理依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2862345/

相关文章:

python - 如果 Pandas 中两个单元格为空,则填充 .fillna 列

hadoop - 使用 Apache Flume 收集 CPU 时间日志

hadoop - 对大量倾斜数据集的 Hive 排序操作

hadoop - 将数据从 HBase 迁移到文件系统。 (将 Reducer 输出写入本地或 Hadoop 文件系统)

hadoop - Sqoop 可以在导入时执行任何 ETL 相关任务吗?

python - 为什么我的函数部分地做它应该做的事情?

python - json_normalize分割多个json对象: python

java - Reducer 将 Mapper 输出写入输出文件

java - Hadoop 自定义 InputFileFormat 生成空结果

python - 在 QAbstractItemModel 中不区分大小写排序