Создать SOAP XML REQUEST из выбранных столбцов данных в Scala - PullRequest
1 голос
/ 03 октября 2019

Есть ли способ создать XML SOAP REQUEST, извлекая несколько столбцов из каждой строки кадра данных? 10 записей в кадре данных означают 10 отдельных запросов SOAP XML.

Как бы вы сделали вызов функции, используя карту сейчас?

1 Ответ

2 голосов
/ 03 октября 2019

Вы можете сделать это, применив функцию 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>   |
+--------------------------------------------------+
...