У меня есть датафрейм, имеющий миллион записей.Это выглядит так -
df.show()
+--------------------+--------------------++-------------
| feature1| feature2| domain |
+--------------------+--------------------++-------------
|[2.23668528E8, 1....|[2.23668528E8, 1....| domain1 |
|[2.23668528E8, 1....|[2.23668528E8, 1....| domain2 |
|[2.23668528E8, 1....|[2.23668528E8, 1....| domain1 |
|[2.23668528E8, 1....|[2.23668528E8, 1....| domain2 |
|[2.23668528E8, 1....|[2.23668528E8, 1....| domain1 |
Идеальный размер раздела - 128 МБ в искре, и давайте предположим, что столбец домена имеет два уникальных значения (домен1 и домен2). Учитывая это, у меня есть два вопроса -
Если я сделаю df.repartition("domain")
и если один раздел не сможет вместить все данные для конкретного ключа домена, произойдет ли сбой в приложении или оно автоматически создаст подходящие разделы в зависимости от данных?
Предположим, что в приведенном выше перераспределении данных уже произошло на основе ключа домена, поэтому будет два раздела (уникальные ключи - domain1 и domain2).Теперь предположим, что domain1 и domain2 повторяются 1000000 раз, и я собираюсь сделать самостоятельное объединение на основе домена.Таким образом, для каждого домена я буду получать около 10 ^ 12 записей.Учитывая, что у нас есть два раздела, и количество соединений не изменяется во время объединений, смогут ли два новых раздела обрабатывать 1000000 записей?