У меня есть ситуация, когда я начинаю с озера данных (1 ТБ), и у меня достаточно эвристики для создания лужи данных (~ 15-20 миллионов строк). Теперь мне нужно сгруппировать по одному из столбцов и взять целый набор статистики, а также некоторые образцы данных.
Мои агрегации - такие как медианы, числа и выборка значений вторичных столбцов ...
Мой наивный подход состоял в том, чтобы отфильтровать мои данные, выполнить групповую работу, а затем большой набор агрегаций. Сам код работает с небольшим набором данных, но он не масштабируется. это просто висит.
Учитывая то, что я так сильно сократил данные, я чувствую, что должен перераспределить ... но я не уверен, должен ли я перераспределять по столбцу groupby или просто по числу. Группы будут довольно искажены - вероятно, их будет только 25-75, а некоторые будут синглтонами.
Второй вопрос заключается в том, должен ли я выполнять агрегации в нескольких отдельных наборах, а затем соединять результирующие кадры данных с помощью столбца groupby, а не объединять их все в один groupby.
Несмотря на то, что строк <20 миллионов, я нигде не получаю кластер с 30 узлами, так что я явно делаю что-то не так! </p>
может быть, есть и другой подход к вычислениям в перекошенной группе?