Capítulo 6. Programación avanzada de tareas: Futuros y amigos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
El flujo computacional de Dask sigue estos cuatro pasos lógicos principales, que pueden ocurrir de forma concurrente y recursiva para cada tarea:
-
Recoge y lee los datos de entrada.
-
Define y construye el gráfico de cálculo que representa el conjunto de cálculos que hay que realizar con los datos.
-
Ejecuta el cálculo (esto ocurre cuando ejecutas
.compute()). -
Pasa el resultado como dato al siguiente paso.
Ahora introducimos más formas de controlar este flujo con futuros. Hasta ahora, has visto sobre todo operaciones perezosas en Dask, en las que Dask no hace el trabajo hasta que algo fuerza el cómputo. Este patrón tiene una serie de ventajas, entre ellas que permite al optimizador de Dask combinar pasos cuando hacerlo tiene sentido. Sin embargo, no todas las tareas se adaptan bien a la evaluación perezosa. Un patrón común que no se adapta bien a la evaluación lazy es fire-and-forget, en la que llamamos a una función por su efecto secundario1 y nos preocupamos necesariamente del resultado. Intentar expresar esto con la evaluación perezosa (por ejemplo, dask.delayed) da lugar a bloqueos innecesarios para forzar el cálculo. Cuando la evaluación perezosa no es lo que necesitas, puedes explorar los futuros de Dash. Los futuros se pueden utilizar para mucho más que disparar y olvidar, y puedes devolver ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access