我试图理解 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)
我的问题是:
- 我应该使用
await
吗dd.read_parquet
? - 我应该使用
await
吗merge
? - 如果我为其设置了错误的列名,
read_parquet
则会立即引发异常,之前dask_client.compute
。为什么会发生?如果客户端异步,它应该只创建任务,而不是执行它。