Карта сумки Dask: присвоить атрибут объекту - PullRequest
0 голосов
/ 08 июля 2020

У меня есть набор python объектов (я привожу только один случай: x в коде), которые я хочу обработать с помощью dask bag. Результирующее значение вычисления будет присвоено объектам как атрибут (x.test в приведенном ниже коде).

import dask.bag as db

class Test():
    pass

x = Test()

def dask_test(x):
    somevalue = someprocess(x)
    setattr(x, "test", somevalue)

b = db.from_sequence([x], npartitions = 1)
b.map(dask_test).compute()
x.test 

Приведенное выше дает ошибку: AttributeError: объект 'Test' не имеет атрибута 'test '

Как показано ниже, работает нормально.

setattr(x, "test", 'somevalue')
x.test

1 Ответ

1 голос
/ 09 июля 2020

Вы должны вернуть значение из функции dask_test:

def dask_test(x):
    setattr(x, "test", True)
    return x

введите описание изображения здесь

...