У меня есть данные (df_1) по следующей схеме,
|-- Column1: string (nullable = true)
|-- Column2: string (nullable = true)
|-- Column3: long (nullable = true)
|-- Column4: double (nullable = true)
Тип df_1: "pyspark.sql.dataframe.DataFrame"
Я хочу создать новый столбец как ранг, который ранжирует строки в соответствии с определенной функцией окна (security_window);
import pyspark.sql.functions as F
from pyspark.sql import Window
window=Window.partitionBy(F.col("Column1"),F.col('Column2')).orderBy(F.col("Column3"))).rangeBetween(-20,0)
df_1.withColumn('Rank',F.rank().over(window))
Однако, когда я использую эту оконную функцию с упомянутым фреймом данных (df_1),
Следующее исключение я сталкиваюсь как AnalysisException. Кто-нибудь знает, в чем может быть причина?
pyspark.sql.utils.AnalysisException: Window Frame RANGE BETWEEN 20 PRECEDING AND CURRENT ROW must match the required frame ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW