У меня есть RDD, который я сейчас группирую и вычисляю базовую описательную статистику (count, sum, std, mean и т. Д.) С помощью combByKey. Он отлично работает, но похоже, что функция RDD.stats() будет делать то, что мне нужно.Вызов .stats() для сгруппированных RDD (Spark)
Прямо сейчас, я делаю следующее:
text_file = sc.textFile(input_source_file)
text_file.flatMap(zonal.zonal_stats)\
.combineByKey(first_combiner, new_merge, final_combine)\
.map(lambda (label, (value_sum, count, mx, mn)): "{},{},{},{},{},{},{}".format(label, value_sum, count, value_sum/count, mx, mn, mx - mn))\
.saveAsTextFile(output_path)
Как я могу заменить combineByKey с неработающей коробки .stats() функции и получить основные статистические данные обратно для каждой группы?
Не могли бы вы поделиться больше кода? Какой у вас первый_комбинатор, new_merge, final_combine? – artemdevel