Для данной искры df я хочу знать, имеет ли определенный столбец нулевое значение или нет. Код, который я имел, был -
if (df.filter(col(colName).isNull).count() > 0) {//throw exception}
Это заняло много времени и вызывалось 2 раза в течение 1 дф, так как я проверял 2 столбца. Каждый раз, когда он вызывался, я видел задание для подсчета, поэтому 2 задания на 1 дф.
Затем я менял код так, чтобы он выглядел так -
if (!df.filter(col(colName).isNull).head(1).isEmpty) {//throw exception}
С этим изменением я Теперь мы видим 4 рабочих места по сравнению с 2-мя рабочими местами ранее, что увеличивает общее время.
Можете ли вы, эксперты, помочь мне понять, почему количество рабочих мест удвоилось? Функция головы должна вызываться только 2 раза.
Спасибо за вашу помощь! N
Обновление: добавлен скриншот, показывающий задания для обоих случаев. Левая сторона показывает ту, которая имеет счет, а правая - голова. Это единственная линия, которая отличается между двумя прогонами.
