Python 将多个表读取到同一数据帧
我在同一数据框中读取了多个表Python 将多个表读取到同一数据帧,python,apache-spark,spark-dataframe,Python,Apache Spark,Spark Dataframe,我在同一数据框中读取了多个表 i = 0 while (condition): dfMoreData = sqlContext.read.parquet("data" + i + ".parquet") # process dfMoreData i = i + 1 我遇到关于内存不足的异常 每次迭代后是否应该以及如何清除dfMoreData?要修复未将不可变值分配给任何集合的代码,一种方法是使用regex或path filter sqlCont
i = 0
while (condition):
dfMoreData = sqlContext.read.parquet("data" + i + ".parquet")
# process dfMoreData
i = i + 1
我遇到关于内存不足的异常
每次迭代后是否应该以及如何清除dfMoreData?要修复未将不可变值分配给任何集合的代码,一种方法是使用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 _)
对于内存不足错误,我认为集群需要有足够的内存来加载数据。之后,您可以尝试使用“内存”和“磁盘”选项进行持久化,然后执行其余操作。对不起,这种方法从一开始就不正确。因为
dfMoreData
只存在于而范围内。@Yakov如果这回答了你的问题,你能接受吗?