Мне было интересно, может ли кто-нибудь помочь мне разобраться в способе Bag
объекты обрабатывают разделы. Проще говоря, я пытаюсь группировать элементы, находящиеся в настоящее время в Bag
, так что каждая группа находится в своем собственном разделе. Что меня смущает, так это то, что метод Bag.groupby()
запрашивает несколько разделов. Разве это не должно подразумеваться функцией группировки? Например, два раздела, если функция группировки возвращает логическое значение?Группировка элементов dask.bag в отдельных разделах
>>> a = dask.bag.from_sequence(range(20), npartitions = 1)
>>> a.npartitions
1
>>> b = a.groupby(lambda x: x % 2 == 0)
>>> b.npartitions
1
У меня явно что-то отсутствует. Есть ли способ группировать Bag
элементов на отдельные разделы?
Действительно, вот что меня смущает. Как я могу использовать каждую группу в своем собственном разделе? Могу ли я повторно перетасовать (и, вероятно, изменить количество) разделов? – ajmazurie
Попытка изолировать каждую группу к отдельному разделу звучит странно для меня. Возможно, есть еще один способ сделать то, что вы пытаетесь сделать. Можете ли вы объяснить, почему это ваша цель в вашем первоначальном вопросе? – MRocklin
Типичный пример использования состоит в том, что разделы представляют собой различные подмножества общего набора данных, которые обрабатываются независимо (хотя очевидно, что они используют одну и ту же схему для разделов). Прямо сейчас разделы представлены только как внутренние артефакты, используемые для оптимизации распараллеливания, по сравнению с подходом Apache Spark, где они также могут представлять логические подмножества большего набора данных. В качестве примера можно рассмотреть временные элементы 'dask.bag', которые вы группируете на основе разделов на основе той же даты. Наличие одного раздела в день облегчает анализ и хранение в обратном направлении. – ajmazurie