【发布时间】: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> 会出错
【问题讨论】:
-
使用
.orderBy(F.asc_nulls_last('datetime')),见:spark.apache.org/docs/latest/api/python/…,或F.col('datetime').asc_nulls_last()
标签: apache-spark pyspark