show
так же безопасно, как и план выполнения оцениваемого Dataset
.Если Dataset
содержит широкие преобразования (не транслируемые объединения, агрегации, перераспределения, приложения оконных функций) или ресурсоемкие узкие преобразования (дорогие вызовы UDF, "строго" типизированные преобразования с широкой схемой), вызов show
может вызвать сбой исполнителя.
В отличие от collect
он будет извлекать только небольшое подмножество данных (по умолчанию 20 записей).Поэтому, исключая режим local
, маловероятно, что он когда-либо вызовет сбой драйвера.
Даже если ничего из вышеперечисленного не соответствует действительности, все же возможно, что show
оценит все записи.Это может произойти, если конвейер содержит строго ограничивающие выборки (фильтр), которые приводят к наличию резервных ведущих разделов.
Всего show
, так же, как аналогичные операции с ограничениями, такие как take
(с небольшим * 1018).*) настолько безопасны, насколько вы можете получить, но не можете гарантировать успешное выполнение.