Wie lade ich Daten in Chunks von einem Pandas-Datenframe in einen Spark-Datenframe?

Ich habe Daten in Chunks über eine Pyodbc-Verbindung gelese

import pandas as pd
import pyodbc
conn = pyodbc.connect("Some connection Details")
sql = "SELECT * from TABLES;"
df1 = pd.read_sql(sql,conn,chunksize=10)

Nun möchte ich all diese Chunks in einem einzigen Spark-Datenframe lesen, indem ich Folgendes verwende:

i = 0
for chunk in df1:
    if i==0:
        df2 = sqlContext.createDataFrame(chunk)
    else:
        df2.unionAll(sqlContext.createDataFrame(chunk))
    i = i+1

Das Problem ist, wenn ich eindf2.count() Ich erhalte das Ergebnis als 10, was bedeutet, dass nur der Fall i = 0 funktioniert. Ist dies ein Fehler bei unionAll? Mache ich hier etwas falsc

Antworten auf die Frage(2)

Ihre Antwort auf die Frage