Simplemente, ha creado un marco de datos que es una receta del trabajo a realizar, pero no lo ha ejecutado. Para ejecutar, debe llamar a .compute()
en el resultado.
Tenga en cuenta que la salida aquí no es realmente un marco de datos, cada partición se evalúa como None
(porque to_sql
no tiene salida), por lo que podría ser más limpio expresar esto con df.to_delayed
, algo como
dto_sql = dask.delayed(pd.DataFrame.to_sql)
out = [dto_sql(d, 'table_name', db_url, if_exists='append', index=True)
for d in ddf.to_delayed()]
dask.compute(*out)
También tenga en cuenta que obtener un buen paralelismo dependerá del controlador de la base de datos y del propio sistema de datos.