Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark Scala排序轴心列_Apache Spark_Dataframe_Pivot - Fatal编程技术网

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|
+-------+---+---+