【问题标题】:Pyspark orderBy asc nulls lastPyspark orderBy asc nulls last
【发布时间】:2020-10-07 20:59:27
【问题描述】:

在spark sql中,可以在orderBy中使用asc_nulls_last,例如

df.select('*').orderBy(column.asc_nulls_last).show

Changing Nulls Ordering in Spark SQL

你会如何在 pyspark 中做到这一点?

我专门用它来做“窗口”之类的事情:

df = df.withColumn(
    'rank',
    row_number().over(Window.partitionBy('group_id').orderBy('datetime'))
)

datetime 列可以是日期时间或空值。

我希望这样做:

...orderBy(expr('column asc NULLS last'))

但是Exception: mismatched input 'NULLS' expecting <EOF> 会出错

【问题讨论】:

标签: apache-spark pyspark


【解决方案1】:
from pyspark.sql import functions as F
df = df.withColumn(
    'rank',
    F.row_number().over(Window.partitionBy('group_id').orderBy(F.col('datetime').asc_nulls_last()))
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2022-01-07
    • 2011-04-10
    • 2013-04-24
    • 2020-02-21
    • 2017-11-02
    • 1970-01-01
    相关资源
    最近更新 更多