将多个表读入同一数据框

2024-09-30 04:28:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我把几个表读到同一个数据框中

i = 0
while (condition): 
        dfMoreData = sqlContext.read.parquet("data" + i + ".parquet")
        # process dfMoreData
        i = i + 1

我遇到了关于内存不足的例外情况 每次迭代后,我应该以及如何清除dfMoreData


Tags: 数据readdataconditionprocess例外情况whileparquet
1条回答
网友
1楼 · 发布于 2024-09-30 04:28:25

要修复没有将不可变值赋给任何集合的代码,一种方法是使用regex或path filter

sqlContext.read.parquet("data*.parquet");

使用unionAll减少数据帧

val df = (1 to 10) // assuming filenames are 1 to 10
  .map("data" + _ + ".parquet")
  .map(sqlContext.read.parquet(_))
  .reduce(_ unionAll _)

对于内存不足错误,我认为集群需要有足够的内存来加载数据。之后,您可以尝试使用MEMORY\u和\u DISK选项持久化,然后执行其余操作

相关问题 更多 >

    热门问题