Вы можете сделать это, применив функцию map к фрейму данных.
val df = your dataframe
df.map(x => convertToSOAP(x))
// convertToSOAP is your function.
Создайте пример на основе вашего комментария, надеюсь, вы найдете это полезным.
case class emp(id:String,name:String,city:String)
val list = List(emp("1","user1","NY"),emp("2","user2","SFO"))
val rdd = sc.parallelize(list)
val df = rdd.toDF
df.map(x => "<root><name>" + x.getString(1) + "</name><city>"+ x.getString(2) +"</city></root>").show(false)
// Note: x is a type of org.apache.spark.sql.Row
Вывод будет следующим:
+--------------------------------------------------+
|value |
+--------------------------------------------------+
|<root><name>user1</name><city>NY</city></root> |
|<root><name>user2</name><city>SFO</city></root> |
+--------------------------------------------------+