Мне нужно иметь возможность получить наиболее распространенное значение столбца с помощью Pyspark.
В этом примере из столбца Day
я хочу получить результат Monday
, поскольку он появляетсябольше, чем Tuesday
и Wednesday
.
Row 1: Monday
Row 2: Tuesday
Row 3: Wednesday
Row 4: Monday
Я подумал, что должен сделать какую-то группу и сосчитать, но весь способ, которым должен быть выполнен проект, для меня странен.
Вот пример кода, который мне дали, чтобы попытаться решить эту проблему.
d = d.rdd
d = d.map(lambda row: (row.day.year, row.number))
print(d.take(2000))
d_maxNum = d.reduceByKey(lambda max_num, this_num: this_num if this_num > max_num else max_num)
print(d_maxNum.collect())
Я новичок в Pyspark, поэтому чем больше объяснений, тем лучше. Я прочитал документацию, но мне было трудно понять это. Спасибо.