У меня есть набор данных 243 МБ.Мне нужно обновить мой Dataframe с помощью row_number, и я попытался использовать следующие методы:
import org.apache.spark.sql.functions._
df.withColumn("Rownumber",functions.monotonically_increasing_id())
Теперь row_number становится неправильным после 248352
строк, после этого row_number
приходит 8589934592
следующим образом.
а также я использовал,
df.registerTempTable("table")
val query = s"select *,ROW_NUMBER() OVER (order by Year) as Rownumber from table"
val z = hiveContext.sql(query)
Используя этот метод, я получил ответ, но это заняло больше времени.Следовательно, я не могу использовать этот метод.
Та же проблема с df.rdd.zipwithIndex
Каков наилучший способ решить эту проблему в spark-scala?я использую искру 2.3.0.