如何将spark DataFrame行值映射到列?

时间:2016-05-27 20:13:04

标签: scala apache-spark

我正在尝试将行中的值映射到另一个数据帧中的列。

我有以下DataFrame," id"中的值众所周知是独一无二的:

sqlContext.createDataFrame(Seq(("a", 1),("b",2))).toDF("id","number")

sqlContext.createDataFrame(Seq(("jane",10),("John",12))).toDF("mcid", "age")

我希望使用架构生成一个DataFrame:

| mcid | age | a | b |

1 个答案:

答案 0 :(得分:0)

我不知道你要做什么,但假设你有这个:

val df1 = sqlContext.createDataFrame(Seq(("a", 1),("b",2))).toDF("id","number")
val df2 = sqlContext.createDataFrame(Seq(("jane",10),("John",12))).toDF("mcid", "age")

这将为您提供一个DataFrame,其中包含您要查找的架构:

df2.join(df1).groupBy($"mcid", $"age").pivot("id").sum("number")