Применить функцию к одному столбцу CSV в Spark

Используя Spark, я читаю CSV и хочу применить функцию к столбцу в CSV. У меня есть код, который работает, но он очень хакерский. Как правильно это сделать?

Мой код

SparkContext().addPyFile("myfile.py")
spark = SparkSession\
    .builder\
    .appName("myApp")\
    .getOrCreate()
from myfile import myFunction

df = spark.read.csv(sys.argv[1], header=True,
    mode="DROPMALFORMED",)
a = df.rdd.map(lambda line: Row(id=line[0], user_id=line[1], message_id=line[2], message=myFunction(line[3]))).toDF()

Я хотел бы иметь возможность просто вызвать функцию на имя столбца вместо отображения каждой строкиline а затем вызвать функцию наline[index].

Я использую Spark версии 2.0.1

Ответы на вопрос(1)

Ваш ответ на вопрос