我有一个迟钝的延迟计算结果,它可能是一个浮点数,一个数字列表或一个numpy数组。有没有将这些结果保存到本地磁盘或HDFS的标准dask
方法?
答案 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,然后使用它们的保存功能,这些功能仅限于那些形式之一的数据,但自动程度更高。