Как использовать асинхронный клиент dask - PullRequest
1 голос
/ 02 августа 2020

Я пытаюсь понять dask asyn c client, но у меня остались вопросы. Вот мой пример:

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. Следует ли мне использовать await на dd.read_parquet?
  2. Следует ли мне использовать await на merge?
  3. Если я установил неправильное имя столбца для read_parquet, это вызовет исключение немедленно, до dask_client.compute. Почему это произошло? Если клиент асинхронный, он должен только создавать задачу, а не выполнять ее.

1 Ответ

0 голосов
/ 08 августа 2020

Метод вычисления не поддерживает асинхронность c. Вам нужно будет использовать await client.compute(df_graduates) вместо

...