Pyspark - обновить список в формате udf - PullRequest
1 голос
/ 30 апреля 2020

Есть ли возможность обновить список / переменную внутри 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))

Возможно ли это и безопасно в кластерной среде?

Приведенный выше код является лишь примером, поэтому, возможно, его можно переписать другим, более лучшим способом.

...