spark.python.worker.reuse没有按预期工作

Dav*_*idF 6 apache-spark pyspark

鉴于此代码块

def return_pid(_): yield os.getpid()
spark = SparkSession.builder.getOrCreate()
pids = set(spark.sparkContext.range(32).mapPartitions(return_pid).collect())
print(pids)
pids = set(spark.sparkContext.range(32).mapPartitions(return_pid).collect())
print(pids)
Run Code Online (Sandbox Code Playgroud)

我期待相同的python进程id将被打印两次.相反,正在打印完全不同的Python进程ID.

spark.python.worker.reuse是真的,但默认.但如果spark.python.worker.reuse=true明确地发生这种意外行为