python - 如何通过 pyspark/hadoop/etc 提高程序的速度?

标签 python hadoop mapreduce pyspark bigdata

我有一个大型矩阵目录,我正在对此类矩阵应用一些昂贵的操作。管道看起来像这样:

Directory -> extract matrices -> apply operations -> save in a .csv file

请注意,我将之前的“管道”包装到一个函数中。到目前为止,使用 python 的多处理库,我能够在 1 周内应用以前的管道。但是,我很好奇是否有可能以 spark map-reduce 的方式“并行化”之前的函数。因此,我的任务可以用 pysparks map reduce 来增强吗?我怎样才能提高速度? (我只有两台笔记本电脑),你们推荐我在不修改功能的情况下提高管道速度的其他方法是什么?

最佳答案

我认为最简单的事情就是在更大的计算机上运行。 Spark 和 Map-Reduce 并不是真正为笔记本电脑设计的,它们是为服务器设计的。您可以租用服务器(AWS、谷歌计算引擎)并在具有更多内存(我建议至少 32GB,最好是 64GB 或更高)和更多 CPU 内核(4 个或更多)的更大服务器上运行您的管道。在实际租用服务器之前,您始终可以在免费套餐(AWS 和 Google 都有免费套餐)上模拟您的测试。之后,您向它转换更多服务器。

https://aws.amazon.com/ec2/pricing/on-demand/https://cloud.google.com/compute/pricing有定价详细信息,但您会惊讶地发现您可以以低于 2 美元/小时的价格购买。

关于python - 如何通过 pyspark/hadoop/etc 提高程序的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727826/

相关文章:

python - 列表列表更改意外地反射(reflect)在子列表中

java - 为什么要在 Hadoop 中将返回值定义为函数参数?

hadoop - 在 hortonworks HDP docker 镜像上安装 Rstudio

hadoop - map 减少java程序的澄清

java - 如何从 map 作业输出整个文件?

hadoop - 如何为 arrywritable 的文本版本编写 compareTo() 方法

python - 为什么具有相同值的字符串引用相同的对象,而列表则不然?

python - 不可散列类型 : 'list' while joining PySpark RDDs

hadoop - hadoop 1.0.4是否已弃用单个群集?

python - Sklearn 线性回归 X 和 Y 输入格式