У меня есть файл csv размером 500 МБ, который я читаю как фрейм данных. Я ищу оптимальное значение раздела этого фрейма данных. Мне нужно выполнить несколько широких преобразований и присоединить этот фрейм данных к другому CSV, поэтому сейчас у меня есть менее 3 подходов для повторного разделения этого фрейма данных
- df.repartition (кол-во ядер)
- Повторное разделение фрейма данных согласно расчету 500 МБ / 128 МБ ~ 4 раздела, чтобы иметь как минимум 128 МБ данных в каждом разделе
- Повторное разбиение фрейма данных с использованием определенных c столбцов csv для совместного размещения данных в тех же разделах
Я хочу знать, какой из этих вариантов лучше всего подходит для параллельных вычислений и обработки в Spark 2.4