由于orderBy,此处的where子句不起作用,是否可以解决此问题?

时间:2019-05-01 15:57:48

标签: pyspark

由于where,此处的orderBy子句不起作用。有没有解决的办法?

new_subs_df = new_subs_df.withColumn(
    'last_x_date', 
    lag(col("x_date").over(
        Window.partitionBy('user_id')\
       .orderBy(
           to_date(col('z_date'),None).asc(),
           to_date(col('y_date'),None).asc()
        )\
        .where(col('event_type') != '1')
    )
)

1 个答案:

答案 0 :(得分:0)

w = Window.partitionBy('user_id')。orderBy('z_date','y_date')

new_subs_df = new_subs_df.filter(new_subs_df.event_type!='1')。select('user_id',     F.lag(“ x_date”)。over(w).alias(“ last_x_date”))