1
Я хочу знать, как я могу «объединить» несколько столбцов данных в один массив строк?Как преобразовать столбцы DataFrame Spark в один столбец строкового массива
К примеру, у меня есть этот dataframe:
val df = sqlContext.createDataFrame(Seq((1, "Jack", "125", "Text"), (2,"Mary", "152", "Text2"))).toDF("Id", "Name", "Number", "Comment")
который выглядит следующим образом:
scala> df.show
+---+----+------+-------+
| Id|Name|Number|Comment|
+---+----+------+-------+
| 1|Jack| 125| Text|
| 2|Mary| 152| Text2|
+---+----+------+-------+
scala> df.printSchema
root
|-- Id: integer (nullable = false)
|-- Name: string (nullable = true)
|-- Number: string (nullable = true)
|-- Comment: string (nullable = true)
Как я могу преобразовать его так, что это будет выглядеть так:
scala> df.show
+---+-----------------+
| Id| List|
+---+-----------------+
| 1| [Jack,125,Text]|
| 2| [Mary,152,Text2]|
+---+-----------------+
scala> df.printSchema
root
|-- Id: integer (nullable = false)
|-- List: Array (nullable = true)
| |-- element: string (containsNull = true)
Спасибо. Это правильный ответ. Но, продвигаясь вперед, я столкнулся с следующей проблемой. Это не связано конкретно, поэтому я создал новый вопрос. Проверьте это, может быть, вы снова можете мне помочь: http://stackoverflow.com/questions/41245227/spark-dataframe-schema-definition-using-reflection-with-case-classes-and-column –
хороший ответ, это помогает меня МНОГО! –