【问题标题】:Problem running operations in dask after loading multiple csv files加载多个 csv 文件后在 dask 中运行操作时出现问题
【发布时间】:2019-12-12 14:54:40
【问题描述】:

我正在尝试开始使用 dask 来处理一些 ML 项目中的大型数据集。将单个 CSV 文件加载到 dask 数据框中工作正常。当我尝试使用多个 CSV 文件时,任何类似“计算”的操作都会导致程序无限期挂起。

运行良好

import dask.dataframe as dd
import pandas as pd
import dask
from dask.distributed import Client

client = Client(processes=False)
df = dd.read_csv('sftp://somestuff//4120109.csv')
shape = dask.delayed(print)(df.shape)
shape.compute()

输出:(3600, 3723)

以下代码无限期挂起

import dask.dataframe as dd
import pandas as pd
import dask
from dask.distributed import Client

client = Client(processes=False)
df = dd.read_csv('sftp://somestuff//412010*.csv')
shape = dask.delayed(print)(df.shape)
shape.compute()

它应该加载 10 个匹配的文件并给出 (36000, 3273) 的形状 我知道它在放入一些选择打印行后专门挂在 shape.compute() 行上。任何帮助将不胜感激!!!

【问题讨论】:

    标签: python csv dataframe dask


    【解决方案1】:

    您不应混合使用 dask.delayed 和 dask.dataframe。可能你只是想打电话给dask.compute(df.shape)

    https://docs.dask.org/en/latest/delayed-best-practices.html#don-t-call-dask-delayed-on-other-dask-collections

    【讨论】:

    • 运行脚本仍然挂起,我完全忘记了 map_partitions。我会尝试看看它是否可以这样工作。感谢您的信息!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2019-04-09
    • 2021-08-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多