У меня странное поведение с искрой.
Я использую небольшой набор данных только с 10 строками:
+-----+--------------------+
| id| neighbourhood|
+-----+--------------------+
|47061|De Baarsjes - Oud...|
|50515| Bos en Lommer|
|50570| Bos en Lommer|
|20168| Centrum-Oost|
|46386|De Pijp - Riviere...|
|50518| Westerpark|
| 2818|Oostelijk Havenge...|
|52490|Oostelijk Havenge...|
|31080| Zuid|
|43980| Zuid|
+-----+--------------------+
После перераспределения по столбцу 'окрестности' создано 200 разделов.
Я добавил столбец чтобы определить местоположение каждой строки с помощью следующего кода:
df.select('*', spark_partition_id().alias('partition_id'))
И результат:
+-----+--------------------+------------+
| id| neighbourhood|partition_id|
+-----+--------------------+------------+
|47061|De Baarsjes - Oud...| 17|
|50515| Bos en Lommer| 19|
|50570| Bos en Lommer| 19|
|20168| Centrum-Oost| 25|
|46386|De Pijp - Riviere...| 34|
|50518| Westerpark| 44|
| 2818|Oostelijk Havenge...| 70|
|52490|Oostelijk Havenge...| 70|
|31080| Zuid| 102|
|43980| Zuid| 102|
+-----+--------------------+------------+
Пока все хорошо.
Что неправильно, когда я пишу фрейм данных:
df.write.csv('xxxxxxxxx/df_pid')
В результате получается следующее:
- df_pid
-------- / part-00000-.... .csv
-------- / part-00017-.... .csv
-------- / part-00019-.... .csv
-------- / part-00025-.... .csv
-------- / part-00034-.... .csv
-------- / part-00044-.... .csv
-------- / part-00070-.... .csv
-------- / part-00102-.... .csv
Насколько я могу судить число в part-xxx соответствует индексу записываемого раздела. Но чего я не понимаю, так это почему часть-00000 -.....csv, когда в индексе раздела 0 нет данных?
Может кто-нибудь объяснить?
Спасибо