快速计算后如何将结果保存到磁盘?

时间:2019-05-21 01:56:53

标签: python dask

我有一个迟钝的延迟计算结果,它可能是一个浮点数,一个数字列表或一个numpy数组。有没有将这些结果保存到本地磁盘或HDFS的标准dask方法?

1 个答案:

答案 0 :(得分:1)

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之类的文件,则可以使用支持HDFS的Python库,例如PyArrow。

您还可以将其转换为Bag,DataFrame或Array,然后使用它们的保存功能,这些功能仅限于那些形式之一的数据,但自动程度更高。