使用不同顺序的两列对Spark Dataframe进行排序-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用不同顺序的两列对Spark Dataframe进行排序

社区小助手 2018-12-06 11:52:25 1763

比方说,我有一个这样的表:

A,B
2,6
1,2
1,3
1,5
2,3
我想按列的升序排序,A但在其中我想按列的降序对其进行排序B,如下所示:

A,B
1,5
1,3
1,2
2,6
2,3
我试过用,orderBy("A", desc("B"))但它给出了一个错误。

我应该如何在Spark 2.0中使用数据框编写查询?

分布式计算 Spark
分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:18:30

    使用Column方法desc,如下所示:

    val df = Seq(
    (2,6), (1,2), (1,3), (1,5), (2,3)
    ).toDF("A", "B")

    df.orderBy($"A", $"B".desc).show
    // +---+---+
    // | A| B|
    // +---+---+
    // | 1| 5|
    // | 1| 3|
    // | 1| 2|
    // | 2| 6|
    // | 2| 3|
    // +---+---+

    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题