С countApprox как то все не понятно, если поискать по чату, то должно найтись обсуждение его работы (точнее не работы).
Не просто не очевидно, а очень заметно замедлит. По крайней мере так говорит карау.
+ сам проверял если ты неявно преобразуешь df к rdd во время фильтрации:
Df.filter( col(x) == 2) - здесь работает все как dataframe
Df.filter(_ ==2 ) - неявно преобразование к rdd
Производительность падает примерно в 2-3 раза в зависимости от консистентности данных