Apache spark 有没有办法将for循环期间创建的变量写入pyspark中的数据帧?

Apache spark 有没有办法将for循环期间创建的变量写入pyspark中的数据帧?,apache-spark,pyspark,pyspark-sql,pyspark-dataframes,Apache Spark,Pyspark,Pyspark Sql,Pyspark Dataframes,我在for循环中创建了四个变量,我试图将这些变量写入pyspark中的数据帧中。然后我想把这个数据框写入拼花地板和csv文件。有没有一个有效的方法来做到这一点。如果是这样,请您用pyspark代码向我解释。实现这一点的一种优雅而有效的方法是将for循环逻辑转换为纯Spark代码 例如: (给定四个函数f1,f2,f3,f4,取一个int参数并给定SparkSession实例) 以下为for循环: 范围(1000000)内的i的: v1、v2、v3、v4=f1(i)、f2(i)、f3(i)、f4(

我在for循环中创建了四个变量,我试图将这些变量写入pyspark中的数据帧中。然后我想把这个数据框写入拼花地板和csv文件。有没有一个有效的方法来做到这一点。如果是这样,请您用pyspark代码向我解释。

实现这一点的一种优雅而有效的方法是将for循环逻辑转换为纯Spark代码

例如:

(给定四个函数
f1
f2
f3
f4
,取一个
int
参数并给定
SparkSession
实例)

以下为for循环:

范围(1000000)内的i的
:
v1、v2、v3、v4=f1(i)、f2(i)、f3(i)、f4(i)
[...]
可译为:

从pyspark.sql.functions导入udf
df=火花范围(1000000)\
.withColumn(“v1”,自定义项(f1)。应用(“id”))\
.带列(“v2”,自定义项(f2)。应用(“id”))\
.withColumn(“v3”,自定义项(f3)。应用(“id”))\
.withColumn(“v4”,自定义项(f4)。应用(“id”))
[...]