Проблема с заданиями запуска кеширования в Spark: у меня есть код вида:
df = read_function(...)
df.cache()
read_function()
состоит из
- Чтение данных из нескольких таблиц кустов в кадры данных
- Добавление новых столбцов к этим фреймам данных
- Объединение этих фреймов данных в один фрейм данных
- Возвращение окончательного фрейма данных
Spark UI отображает заданиесрабатывает для оператора df.cache()
. Из интерфейса Spark
Насколько я могу судить, нигде нет операции перетасовки, кроме union
.Что вызывает работу?Похоже, что кеширование не происходит, если оно выполняется за 2 секунды, но поскольку кеширование НЕ должно быть действием, сбивает с толку возможность увидеть инициируемую им работу.
Я видел похожий вопроскому-то еще, кроме вызова кеширования, предшествовала сортировка, а в ответе указывалось, что СДР должен знать границы раздела, что и вызывает работу.Это правильно? Аналогичный вопрос