В pyspark я хочу подсчитать различные значения и их соответствующие значения для всех столбцов. Предположим, у меня есть следующая таблица, теперь я ищу соответствующие цифры
| A | B | C | D |
|-----|-----|-----|-----|
| A1 | B1 | C1 | D1 |
| A1 | B2 | C1 | D1 |
| A1 | B2 | C2 | D1 |
| A2 | B3 | C2 | D2 |
| A2 | B3 | C2 | D2 |
| A3 | B4 | C3 | D3 |
Затем я ищу вывод
{A1 : 3, A2 : 2, A3 : 1}
{B1 : 1, B2 : 2, B3 : 2, B4 : 1}
{C1 : 2, C2 : 3, C3 : 1}
{D1 : 3, D2 : 2, D3 : 1}
PS Я могу перебрать все столбцыи сделайте df.groupBy('columnname').count()
для каждого столбца, но это займет много времени. Есть ли эффективный способ сделать это гораздо лучше?
Кроме того, не стесняйтесь использовать тот, который работает лучше всего - rdd
или data frame