У меня есть искровой фрейм данных следующей структуры:
Operation|RequestURL|RequestBody|IsGetRequest|IsPostRequest
и переменная: val n = 100
Я хочу выполнить Group-by
в столбце Operation
в кадре данных.Затем я хочу получить RequestURL
и RequestBody
столбцы для n
запросов (без упорядочения) в каждой из этих групп (создайте новый data-frame/rdd/map
этого).Если в группе меньше n запросов, я хочу продублировать некоторые строки в этой группе, чтобы обеспечить одинаковое количество запросов, которые я получаю из каждой группы.
Нужна помощь в выяснении, как это можно сделатьбыть сделано оптимизированным способом.Я открыт для использования любого языка (python/scala
), а также преобразую фрейм данных в панды или хэш-карту ключей и значений, если это невозможно сделать с помощью spark data-frame
.
Iвидели какое-то решение по переполнению стека с использованием группировки и упорядочения, а затем с помощью функции разделения Windows, чтобы получить значения topN
.Чем отличается мой вопрос - для моего случая нет ordering
.Также я хочу обеспечить fetching equal number of requests
от каждой группы.