Я использую dask
как в , как распараллелить многие (нечеткое) сравнение строк с использованием apply в Pandas?
По сути, я делаю некоторые вычисления (без записи чего-либо на диск), которые вызывают Pandas
и Fuzzywuzzy
(которые, по-видимому, не освобождают GIL, если это помогает), и запускаю что-то вроде:
dmaster = dd.from_pandas(master, npartitions=4)
dmaster = dmaster.assign(my_value=dmaster.original.apply(lambda x: helper(x, slave), name='my_value'))
dmaster.compute(get=dask.multiprocessing.get)
Однако вариант кода работает уже 10 часов и еще не закончился. Я заметил в диспетчере задач Windows, что
RAM utilization
довольно низкий, соответствующий размеру моих данныхCPU usage
подпрыгивает от 0% до 5% каждые 2/3 секунды или около того- У меня есть около
20 Python processes
размером 100 МБ, и один процесс Python, который, вероятно, содержит данные размером 30 ГБ (у меня машина на 128 ГБ с 8-ядерным процессором)
Вопрос: ожидается ли такое поведение? Я, очевидно, ужасно ошибаюсь, устанавливая здесь некоторые dask
параметры?
Конечно, я понимаю, что особенности зависят от того, что именно я делаю, но, может быть, шаблоны выше уже могут сказать, что что-то ужасно неправильно?
Большое спасибо!!
npartitions
? - person ℕʘʘḆḽḘ   schedule 01.07.2016