Pyspark-udf中的更新列表

Pyspark-udf中的更新列表,pyspark,apache-spark-sql,Pyspark,Apache Spark Sql,是否有可能更新udf中的列表/变量 让我们考虑一下这个场景: studentsWithNewId = [] udfChangeStudentId = udf(changeStudentId, IntegerType()) def changeStudentId(studentId): if condition: newStudentId = computeNewStudentId() // this function is based on studentsWith

是否有可能更新udf中的列表/变量

让我们考虑一下这个场景:

studentsWithNewId = []

udfChangeStudentId = udf(changeStudentId, IntegerType())

def changeStudentId(studentId):

    if condition:
        newStudentId = computeNewStudentId() // this function is based on studentsWithNewId list contents
        studentsWithNewId.append(newStudentId)
        return newStudentId
    return studentId

studentsDF.select(udfChangeStudentId(studentId))
这在群集环境中是否可能且安全


上面的代码只是一个示例,因此可能可以用其他更好的方式重新编写。

似乎您应该能够在没有udf的情况下表达此逻辑(udfs r在大数据方面的速度较慢)。如果您可以提供示例数据、所需的输出以及用于ComputeNewsStudentId()的逻辑,它将帮助其他人使用spark内置函数回答问题。您似乎应该能够在不使用udf的情况下表达此逻辑(对于大数据,udfs r spark较慢)。如果您可以提供示例数据、所需的输出以及用于ComputeNewsStudentId()的逻辑,那么它将帮助其他人使用spark内置函数进行回答