Скажем, у меня есть кадр данных, который выглядит следующим образом:
+---------+------+
| Col1 | Col2 |
+---------+------+
| Value 1 | A |
| Value 2 | D |
| Value 3 | B |
| Value 4 | C |
| Value 5 | A |
| Value 6 | B |
+---------+------+
Мне нужно посчитать, сколько раз появляется A
, а также сколько раз появляется B
.В настоящее время я просто делаю:
val aCount = dataframe.where("Col2 = A").count()
val bCount = dataframe.where("Col2 = B").count()
Но это приводит к тому, что весь DAG выполняется дважды, один раз для каждого счета.Данные, с которыми я работаю, огромны, поэтому я не могу просто кэшировать dataframe
, и выполнение этого дважды занимает слишком много времени.
Есть ли способ, которым я могу выполнить оба подсчета за один проход?