小编Gau*_*ama的帖子

如何将数据从 Pandas 数据帧分块加载到 Spark 数据帧

我已经使用以下内容通过 pyodbc 连接以块的形式读取数据:

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

现在我想使用以下内容将所有这些块读入一个单一的火花数据帧:

i = 0
for chunk in df1:
    if i==0:
        df2 = sqlContext.createDataFrame(chunk)
    else:
        df2.unionAll(sqlContext.createDataFrame(chunk))
    i = i+1
Run Code Online (Sandbox Code Playgroud)

问题是当我做 a 时,df2.count()我得到的结果是 10,这意味着只有 i=0 的情况在工作。这是 unionAll 的错误吗?我在这里做错了吗??

python pandas apache-spark pyspark

3
推荐指数
1
解决办法
1766
查看次数

标签 统计

apache-spark ×1

pandas ×1

pyspark ×1

python ×1