Cómo cargar datos en fragmentos desde un marco de datos de pandas a un marco de datos de chispa
He leído datos en fragmentos sobre una conexión pyodbc usando algo como esto:
import pandas as pd
import pyodbc
conn = pyodbc.connect("Some connection Details")
sql = "SELECT * from TABLES;"
df1 = pd.read_sql(sql,conn,chunksize=10)
Ahora quiero leer todos estos fragmentos en un solo marco de datos de chispa usando algo como:
i = 0
for chunk in df1:
if i==0:
df2 = sqlContext.createDataFrame(chunk)
else:
df2.unionAll(sqlContext.createDataFrame(chunk))
i = i+1
El problema es cuando hago undf2.count()
obtengo el resultado como 10, lo que significa que solo el caso i = 0 está funcionando. ¿Es esto un error con unionAll? ¿Estoy haciendo algo mal aquí?