Quelqu'un peut-il me dire comment convertir une structure de données Spark en Array [String] dans scala.
J'ai utilisé le suivant.
x =df.select(columns.head, columns.tail: _*).collect()
L'extrait ci-dessus me donne un tableau [Row] et non pas un tableau [String]
Cela devrait faire l'affaire:
df.select(columns: _*).collect.map(_.toSeq)
DataFrame to Array [Chaîne]
data.collect.map(_.toSeq).flatten
Vous pouvez également utiliser les éléments suivants
data.collect.map(row=>row.getString(0))
Si vous avez plus de colonnes, utilisez le dernier.
data.rdd.map(row=>row.getString(0)).collect
La réponse a été fournie par un utilisateur nommé cricket_007 . Vous pouvez utiliser ce qui suit pour convertir Array [Row] en Array [String]:
x =df.select(columns.head, columns.tail: _*).collect().map { row => row.toString() }
Merci Bharath