Spark sortBy: сохраняется ли порядок при записи? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть в Scala / Spark:

  myDataframe
   .orderBy("date")
   .write
   .csv(...)

Генерируемые CSV:

part-00000-xxx.csv
part-00001-xxx.csv
part-00002-xxx.csv

Вопросы:

  1. Знаете ли вы, если после выполнения предыдущего кода порядок даты будет гарантированно сохранен в одном файле?

  2. Это также верно для файлов? Я имею в виду, что «дата» в части-00001 гарантированно превосходит значения в части-00000?

  3. Если нет, то не могли бы вы опубликовать код, отвечающий обоим объясненным требованиям?

1 Ответ

0 голосов
/ 11 октября 2019

Если вы сделаете .coallesce (1), перед сохранением останется ордер.

Вы можете добавить столбец с индексом ордера, возможно, это вам поможет.

myDataframe
.withColumn("order", row_number().over(Window.orderBy('date)))
.write
.csv(...)
...