[英]Spark Scala Dataframe: How to convert columns into rows?
是否有一些有效的方法可以将 Spark Scala 中的大 DataFrame 的列转换为行?
val inputDF = Seq(("100","A", "10", "B", null),
("101","A", "20", "B", 30)
).toDF("ID", "Type1", "Value1", "Type2", "Value2")
我想将其转换为 Dataframe,如下所示。
val OutDF = Seq(("100","A", "10"),
("100","B", "null),
("101", "A", "20"),
("101", "B", "30")
).toDF("ID", "TypeID", "Value")
dataframe 很大,包含大约 1GB 的数据。 我正在使用火花 2.4.x。 关于以有效方式执行此操作的任何评论? 非常感谢!
你可以做一个工会:
val outputDF = inputDF.select("ID","Type1","Value1")
.unionAll(inputDF.select("ID","Type2","Value2"))
.toDF("ID","Type","Value") // change column names
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.