PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Crie uma tabela sql a partir do dataframe dask usando map_partitions e pd.df.to_sql


Simplesmente, você criou um dataframe que é uma prescrição do trabalho a ser feito, mas não o executou. Para executar, você precisa chamar .compute() no resultado.

Observe que a saída aqui não é realmente um dataframe, cada partição é avaliada como None (porque to_sql não tem saída), então pode ser mais limpo expressar isso com 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)

Observe também que obter um bom paralelismo dependerá do driver do banco de dados e do próprio sistema de dados.