web-dev-qa-db-fra.com

Conversion de l'étoile de données en tableau [String]

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]

6
Bharath

Cela devrait faire l'affaire:

df.select(columns: _*).collect.map(_.toSeq)
6
Sohum Sachdev

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
1
Achyuth

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

0
Bharath