Я хочу назначить уникальный идентификатор строкам набора данных. Я знаю, что есть два варианта реализации:
Первый вариант:
import org.apache.spark.sql.expressions.Window; ds.withColumn("id",row_number().over(Window.orderBy("a column")))
Второй вариант:
df.withColumn("id", monotonically_increasing_id())
Второй вариант - это не последовательный идентификатор, и это не имеет особого значения.
Я пытаюсь выяснить, есть ли проблемы с производительностью этой реализации. То есть, если один из этих вариантов очень медленный по сравнению с другим. Что-то более значимое, что: «monotonically_increasing_id очень быстро превосходит row_number, потому что он не последовательный или ...»