1

我试图理解 dask 异步客户端,但仍有一些问题。这是我的例子:

dask_client = await Client(
    address=settings.DASK_SCHEDULER,
    asynchronous=True
)
df_graduates = dd.read_parquet(
    '/vagrant/shared/storage/F_Graduates'
)
df_d_emp = dd.read_parquet(
    '/vagrant/shared/storage/D_Employer',
    columns=['Business_Size'])
df_graduates = df_graduates.merge(df_d_emp, on='Employer_ID', how='inner')
df_graduates = await dask_client.compute(df_graduates)

我的问题是:

  1. 我应该使用awaitdd.read_parquet
  2. 我应该使用awaitmerge
  3. 如果我为其设置了错误的列名,read_parquet则会立即引发异常,之前dask_client.compute。为什么会发生?如果客户端异步,它应该只创建任务,而不是执行它。
4

1 回答 1

0

计算方法不是异步友好的。你必须await client.compute(df_graduates)改用

于 2020-08-08T01:26:06.710 回答