Du har helt enkelt skapat en dataram som är en föreskrift av det arbete som ska utföras, men du har inte utfört det. För att köra måste du anropa .compute()
på resultatet.
Observera att utdata här inte är en dataram, varje partition utvärderas till None
(eftersom to_sql
har ingen utgång), så det kan vara renare att uttrycka detta med df.to_delayed
, något liknande
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)
Observera också att om du får bra parallellitet beror på databasdrivrutinen och själva datasystemet.