pyspark在windows上运行非常慢?

7hiiyaii  于 2021-05-24  发布在  Spark
关注(0)|答案(0)|浏览(358)

因此,我试图构建一个程序,遍历目录中的所有文件,然后使用spark读入这些文件并计算给定单词的示例(简单地说就是单词“word”)。我有一个python函数 get_files 它接收路径作为输入,并返回一个字符串,其中该目录中的所有文件用逗号分隔。
我试过这样做:

import pyspark
import get_files

sc = pyspark.SparkContext('local[*]')
files = get_files(<path/to/my/files>)
num = sc.flatMap(lambda x: x.split(' ')).filter(lambda x: 'word' in x).count()

对于一个120mb左右的文件夹,整个过程大约需要40分钟。如果我只是用python(没有spark)构建一个函数,遍历这些文件中的每一个,打开它们,然后计算单词,只需要几秒钟。如果这很重要的话,我运行的是4核8逻辑处理器的英特尔i5和8gbram的windows。
我尝试过几种不同的方法:这是在jupyter笔记本上运行的,但是我尝试过从python脚本和命令提示符运行它。我也尝试过手动配置内核的数量(就像 local[8] 或者 local[7] 而不是 local[*] )或者还尝试更改一些关于工作区数量的配置值,或者调整它创建的分区的数量,但是无论哪种方式都非常慢。
我也试着跑步 localhost:4040 我可以看到它确实生成了几个分区,并且使用了所有的核心。当转到“executors”部分时,我可以看到有一个executor正在运行,使用全部8个内核。强文本

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题