Apache spark Spark Scala排序轴心列
以下是:Apache spark Spark Scala排序轴心列,apache-spark,dataframe,pivot,Apache Spark,Dataframe,Pivot,以下是: val pivotDF = df.groupBy("Product").pivot("Country").sum("Amount") pivotDF.show() 我不记得看到过对数据透视列进行排序的功能。排序的假设是什么?永远在上升。找不到它。不确定性 欢迎使用提示。根据: pivot函数有两个版本:一个版本要求调用方指定要透视的不同值列表,另一个版本不需要。后者更简洁,但效率更低,因为Spark需要首先在内部计算不同值的列表 看一看 将值传递给前一版本。因此,当使用自动检测值的版
val pivotDF = df.groupBy("Product").pivot("Country").sum("Amount")
pivotDF.show()
我不记得看到过对数据透视列进行排序的功能。排序的假设是什么?永远在上升。找不到它。不确定性
欢迎使用提示。根据:
pivot函数有两个版本:一个版本要求调用方指定要透视的不同值列表,另一个版本不需要。后者更简洁,但效率更低,因为Spark需要首先在内部计算不同值的列表
看一看
将值
传递给前一版本。因此,当使用自动检测值的版本时,列总是使用值的自然顺序进行排序。如果需要另一种排序,可以很容易地复制自动检测机制,然后使用显式值调用版本:
val df = Seq(("Foo", "UK", 1), ("Bar", "UK", 1), ("Foo", "FR", 1), ("Bar", "FR", 1))
.toDF("Product", "Country", "Amount")
df.groupBy("Product")
.pivot("Country", Seq("UK", "FR")) // natural ordering would be "FR", "UK"
.sum("Amount")
.show()
输出:
+-------+---+---+
|Product| UK| FR|
+-------+---+---+
| Bar| 1| 1|
| Foo| 1| 1|
+-------+---+---+
很好,但我找不到。添加了到源代码的链接
+-------+---+---+
|Product| UK| FR|
+-------+---+---+
| Bar| 1| 1|
| Foo| 1| 1|
+-------+---+---+