Как сохранить результаты на диск после вычисления dask? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть результаты отсроченных вычислений, которые могут быть одним числом с плавающей запятой, списком чисел или пустым массивом.Существует ли стандартный dask способ сохранить эти результаты на локальный диск или в HDFS?

1 Ответ

1 голос
/ 23 мая 2019

Dask Delayed оборачивает функции Python, поэтому вы можете использовать любой код Python, который вы обычно используете, но с задержкой.Вот пример с JSON

def save_data_to_json(data, filename):
    with open(filename, 'w') as f:
        json.dump(data, f)

L = ... # my list of delayed objects

saves = [dask.delayed(save_data_to_json)(x, filename='myfile.%d.json' % i) 
         for i, x in enumerate(L)]

dask.compute(*saves)

Если вы хотите сохранить что-то вроде HDFS, вы бы использовали библиотеку Python, поддерживающую HDFS, например PyArrow.

Вы также можете преобразовать вBag, DataFrame или Array, а затем используйте их функции сохранения, которые ограничены данными, которые вписываются в одну из этих форм, но немного более автоматические.

...