it-roy-ru.com

Конвертировать искровой фрейм данных в массив [String]

Может ли кто-нибудь сказать мне, как преобразовать Spark DataFrame в массив [String] в Scala.

Я использовал следующее.

x =df.select(columns.head, columns.tail: _*).collect()

Приведенный выше фрагмент дает мне Array [Row], а не Array [String]

6
Bharath

Это должно сделать трюк:

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

DataFrame to Array [String]

data.collect.map(_.toSeq).flatten

Вы также можете использовать следующие

data.collect.map(row=>row.getString(0)) 

Если у вас есть больше столбцов, то лучше использовать последний 

 data.rdd.map(row=>row.getString(0)).collect
1
Achyuth

Ответ был предоставлен пользователем с именем cricket_007 . Вы можете использовать следующее для преобразования Array [Row] в Array [String]:

x =df.select(columns.head, columns.tail: _*).collect().map { row => row.toString() }

Спасибо, Bharath

0
Bharath