Использование оконных функций в Spark

Я пытаюсь использовать rowNumber в кадрах данных Spark. Мои запросы работают как положено в оболочке Spark. Но когда я записываю их в затмении и собираю банку, я сталкиваюсь с ошибкой

 16/03/23 05:52:43 ERROR ApplicationMaster: User class threw exception:org.apache.spark.sql.AnalysisException: Could not resolve window function 'row_number'. Note that, using window functions currently requires a HiveContext;
org.apache.spark.sql.AnalysisException: Could not resolve window function 'row_number'. Note that, using window functions currently requires a HiveContext;

Мои запросы

import org.apache.spark.sql.functions.{rowNumber, max, broadcast}
import org.apache.spark.sql.expressions.Window
val w = Window.partitionBy($"id").orderBy($"value".desc)

val dfTop = df.withColumn("rn", rowNumber.over(w)).where($"rn" <= 3).drop("rn")

Я не использую HiveContext при выполнении запросов в оболочке Spark. Не уверен, почему он возвращает ошибку, когда я запускаю так же, как файл JAR. А также я запускаю сценарии на Spark 1.6.0, если это помогает. Кто-нибудь сталкивался с подобной проблемой?

Ответы на вопрос(2)

Ваш ответ на вопрос