Итерация по искровому фрейму данных и объединение двух столбцов для каждой строки - PullRequest
0 голосов
/ 28 сентября 2019

Я выполняю итерацию по искровому фрейму данных и хочу объединить два столбца для каждой строки.

df.collect().foreach{
      row =>
        val x = row.toSeq
        println(x)
        println(x(0))
        val y = "row(1)+row(2)"
         }

1 Ответ

1 голос
/ 28 сентября 2019
val dataFrame = sc.parallelize(Seq(("one", 2.0),("two", 1.5),("three", 8.0))).toDF("id", "value")
import org.apache.spark.sql.functions.concat
val dfToList = dataFrame.withColumn("concat" , concat($"id",$"value")).drop("id").drop("value").collect()
println(dfToList)

Это дает

dataFrame: org.apache.spark.sql.DataFrame = [id: string, value: double]
import org.apache.spark.sql.functions.concat
dfToList: Array[org.apache.spark.sql.Row] = Array([one2.0], [two1.5], [three8.0])

Это то, что вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...