运行依赖于 Numpy 的 Amazon Elastic Mapreduce 作业的方法是啥?

Posted

技术标签:

【中文标题】运行依赖于 Numpy 的 Amazon Elastic Mapreduce 作业的方法是啥?【英文标题】:What's the way to run an Amazon Elastic Mapreduce job that depends on Numpy?运行依赖于 Numpy 的 Amazon Elastic Mapreduce 作业的方法是什么? 【发布时间】:2011-04-29 22:27:35 【问题描述】:

我的 Mapreduce 作业的地图部分依赖于 Numpy。所以,这意味着我需要安装 numpy 作为引导操作的一部分。

我正在考虑构建一个存储在 S3 上的自定义 Numpy 包,该包在 boostrap 操作期间被获取和安装。

有没有更好的办法?

【问题讨论】:

实际上,看起来 Numpy 是默认安装在 mapreduce 实例上的。不过,对于默认情况下未安装的其他软件包,这个问题仍然适用。 我知道这是一个老问题,也许你现在已经解决了,但你可以使用亚马逊的 script-runner jar 来执行一个脚本(在 S3 上),它可以设置你需要的任何东西.当您启动具有 Hive 支持的 EMR 集群时,Amazon 使用它来安装 Hive。 【参考方案1】:

Numpy 现在已安装在 Amazon Elastic MapReduce 实例上,但如果您想使用其他模块,您可以将它们压缩,使用 DistributedCache(使用“-cacheFile”)将它们分发给您的工作人员,然后使用 Python 的内置“zipimport”模块。

见:http://www.cloudera.com/blog/2008/11/sending-files-to-remote-task-nodes-with-hadoop-mapreduce/

【讨论】:

以上是关于运行依赖于 Numpy 的 Amazon Elastic Mapreduce 作业的方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 amazon lambda 中使用 moviepy、scipy 和 numpy

仅依赖于 NumPy/SciPy 的二次规划 (QP) 求解器?

是否可以对 NumPy 数组的递归计算进行矢量化,其中每个元素都依赖于前一个元素?

如何使用NumPy字符串格式化程序打印输出字符串依赖于数组值的NumPy数组?

Amazon EMR:Pyspark 有奇怪的依赖问题

在 Amazon EC2 上安装 numpy