谁在 pyspark 中执行 python 代码

Sne*_*Das 5 apache-spark pyspark

我是火花的新手,对火花有一点疑问。如果我写了一些 pyspark 代码,其中有一些 python 代码,如下所示

from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)
df = spark.read.format("csv").option("delimiter", ",").load('countries.csv')
df = df.withColumn('C_DT',lit(current_time))
print("new column added")

Run Code Online (Sandbox Code Playgroud)

这里是执行器运行 datetime.now 还是每个执行器运行命令。谁运行打印命令、执行程序或驱动程序。

Vap*_*ira 1

打印命令 和 均datetime.now()在 Spark 驱动程序中执行。将current_time被传递给下一个操作命令的执行者,以实际将其添加到 DataFrame 中。当时print("new column added")只是df架构发生了变化,并没有做任何实际的工作。