Да, серия фильтров семантически эквивалентна одному фильтру с &&
в вашем случае.
file.filter(r => r(38) == "0" && r(2) == "0" && r(3) == "0")
Однако указанный выше вариант гарантированно будет быстрее предыдущей версии. Это может быть установлено с помощью следующего:
&&
является оператором короткого замыкания, и следующее сравнение происходит только, если первый имеет значение true
. Количество сравнений в обоих случаях будет то же (да!).
Версия с несколькими фильтрами включает три прохода над RDD против одного прохода для одного фильтра с &&
.
Да, это будет, как и &&, конечно. Не уверен, что будет более эффективным –
Я думаю, что это был вопрос - это вопрос: что более эффективно? –
@ david-griffin Да, это было похоже на двойной вопрос, могу ли я использовать такое выражение, и если он такой же эффективный, как с использованием «&&») –