scala Spark Dataframe 中排序函数

rkttyhzu  于 2023-06-29  发布在  Scala
关注(0)|答案(2)|浏览(174)

对Spark Dataframe 中具有两位和三位数字的列进行排序。
我正在对一个包含两个和三个数字的整数类型的列进行排序,在金额列上应用sort()后,它在顶部显示三个数字,然后所有两个数字都在它下面排序。请解释如何以正确的方式对完整的列进行排序。

juzqafwq

juzqafwq1#

我想你没有用最新的df来排序
在将金额转换为整数之前,您使用了df。

t9eec4r0

t9eec4r02#

首先,你能提供dataframe sortdf的模式在第号线。3在上面的代码?
第二,线上没有。4我看到你用intdf创建了一个新的dataframe,列'amount'转换为int。你能分享intdf Dataframe 的模式吗?创建intdf Dataframe 的正确语法是:
瓦尔intdf = sortdf.withcolumn(“金额”,col(“金额”).cast(“整数”))
可以使用intdf.printschema()函数。
第三,你没有使用在第4行创建的 Dataframe ,即intdf来执行排序命令。sortdf中的'amount'列的数据类型可能不是int,所以你没有得到正确的输出。
建议您用途:
瓦尔sdf = intdf.sort(col('amount ').desc)来得到你想要的结果。

相关问题