2
數據幀過濾我嘗試使用基於窗口功能的邏輯表達式來檢測重複記錄:在星火2.1.1無法使用窗口功能星火
df
.where(count("*").over(Window.partitionBy($"col1",$"col2"))>lit(1))
.show
這給:
java.lang.ClassCastException: org.apache.spark.sql.catalyst.plans.logical.Project cannot be cast to org.apache.spark.sql.catalyst.plans.logical.Aggregate
,另一方面,它的工作原理,如果我的窗函數的結果分配給新的列,然後篩選列:
df
.withColumn("count", count("*").over(Window.partitionBy($"col1",$"col2"))
.where($"count">lit(1))
.show
我想知道如何在不使用臨時列的情況下編寫此代碼?