PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Créer une table sql à partir de la trame de données dask en utilisant map_partitions et pd.df.to_sql

Simplement, vous avez créé un dataframe qui est une prescription du travail à faire, mais vous ne l'avez pas exécuté. Pour exécuter, vous devez appeler .compute() sur le résultat.

Notez que la sortie ici n'est pas vraiment une trame de données, chaque partition est évaluée à None (parce que to_sql n'a pas de sortie), il pourrait donc être plus propre d'exprimer cela avec df.to_delayed , quelque chose comme

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)

Notez également que l'obtention d'un bon parallélisme dépendra du pilote de base de données et du système de données lui-même.