Ваше понимание верно. Чтобы ответить на вопрос по вашей теме, я бы сказал, что это просто (не очень) неудачное присвоение имени .
coalesce()
, поскольку метод RDD или Dataset предназначен для уменьшения количества разделы, как вы заметили. Словарь Google гласит следующее:
собираются вместе, образуя одну массу или целое.
Или (в качестве переходного глагола):
объединить (элементы) в массу или целое.
RDD.coalesce(n)
или DataFrame.coalesce(n)
использует это последнее значение.
pyspark.sql.functions.coalesce()
* Я полагаю, что 1026 * - это собственная реализация Spark общей SQL функции COALESCE
, которая реализована во многих системах РСУБД, таких как MS SQL или Oracle. Как вы заметили, эта SQL функция, которую можно вызывать как непосредственно в программном коде, так и в операторах SQL, возвращает первое ненулевое выражение, как и в реализации других дистрибутивов SQL. В этом случае coalesce
не одинок. Такие функции, как rtrim
, trunc
, date_add
, все можно найти во многих других дистрибутивах РСУБД и (по крайней мере, насколько я видел) в значительной степени стандартные.
Есть способ интерпретировать «объединить» в его «объединить ...», означая, что это реализация (аргументы объединяются в один, ноль или первый ненулевой )
Другими словами, главная связь между ними является смыслом. Даже если я не очень хорошо знаком с подробностями реализации, я не могу предположить, что между уровнями реализации RDD.coalesce
и functions.coalesce
существует отношение уровня реализации, как, например, между RDD.coalesce
и DataFrame.coalesce
.