我已经使用anaconda基本环境在Windows64位计算机上安装了Spark3.0.0和Python3.9.7。我正在尝试执行pyspark外壳中的下一段代码来测试RDD管道方法。
myCollection = "Spark the Definitive Guide : Big Data as Made Simple".split(" ")
words = spark.sparkContext.parallelize(myCollection,2)
words.pipe("echo hello").collect()然后,在捕获pipe()调用时得到以下错误。
File "C:\Users\aitor.hernandez\Spark3\python\lib\pyspark.zip\pyspark\worker.py", line 597, in main
File "C:\Users\aitor.hernandez\Spark3\python\lib\pyspark.zip\pyspark\worker.py", line 587, in process
File "C:\Users\aitor.hernandez\Spark3\python\pyspark\rdd.py", line 425, in func
return f(iterator)
File "C:\Users\aitor.hernandez\Spark3\python\pyspark\rdd.py", line 827, in func
pipe = Popen(
File "C:\Users\aitor.hernandez\Anaconda3\lib\subprocess.py", line 951, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\aitor.hernandez\Anaconda3\lib\subprocess.py", line 1420, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
OSError: [WinError 87] The parameter is incorrect我尝试将参数"shell“更改为true,使之成为init对象。
我也回顾过类似的问题,但大多数是关于特定的软件包。他们都没有解决这个案子。有谁知道发生了什么我怎么解决的吗?
非常感谢。
发布于 2022-04-26 11:29:35
通常,这是一个python版本问题。可能是您使用旧的windows系统。所以python3.8或3.9不是工作。尝试安装python3.6或接近它正在工作的版本。我的旧系统也遇到了同样的问题,scala星星之火工作得很好,但是pyspark 3.8没有工作,但是当我更改python版本3.6时,它工作得很好。也试试你的结局。
https://stackoverflow.com/questions/70802544
复制相似问题