Я пытаюсь определить, сохраняет ли dask.bag
порядок при создании экземпляра с использованием функции from_sequence
.
Я вижу из других вопросов, что порядок для bag
(например, Dask Bag read_text () line order ) не гарантирован, но мне не понятно почему.
Означает ли это, что «сейчас это обычно сохраняется, скажем, для списков, но нам, возможно, придется изменить это из-за чего-то во внутренних органах позже»?
Я выполнил простой тест, приведенный ниже, в дополнение к тестированию моей сложной структуры данных. В обоих случаях порядок, по-видимому, сохраняется. Просто не уверен, нужно ли мне делать больше, например, использовать zip
, чтобы получить список кортежей формы (индекс, объект) и сделать из этого свой bag
, чтобы я мог отсортировать по индексу после применения compute
.
from dask import bag as db
b = db.from_sequence([1,2,3,4,5])
sqr = lambda i: i**2
list(b.map(sqr))
[1, 4, 9, 16, 25]
Ожидаемый результат:
list(b.map(sqr)) == [i**2 for i in [1,2,3,4,5]]
возвращает True