PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Erstellen Sie eine SQL-Tabelle aus dem Dask-Datenrahmen mit map_partitions und pd.df.to_sql

Sie haben einfach einen Datenrahmen erstellt, der eine Vorschrift für die zu erledigende Arbeit darstellt, aber Sie haben ihn nicht ausgeführt. Zur Ausführung müssen Sie .compute() aufrufen auf das Ergebnis.

Beachten Sie, dass die Ausgabe hier nicht wirklich ein Datenrahmen ist, jede Partition wird als None ausgewertet (weil to_sql hat keine Ausgabe), daher könnte es sauberer sein, dies mit df.to_delayed auszudrücken , etwas wie

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)

Beachten Sie auch, dass es vom Datenbanktreiber und dem Datensystem selbst abhängt, ob Sie eine gute Parallelität erhalten.