我正在尝试使用 union/unionAll 函数在循环的分页器中合并一个数据框,并从中删除重复项。该循环有数千次迭代。当迭代次数为数百时,代码工作正常,因为相同的代码无法处理数千次迭代和给定。
调用 o30984.union 时出错。 : java.lang.StackOverflowError.
示例代码:
let df1 - 是空数据框
for page in pages:
for obj in page['Contents']:
df2=spark.createDataframe(obj)
df1=df1.unionAll(df2)
df1.dropDuplicates(col)
df1.write.csv(path)
此处页面的长度几乎等于 50,000 到数十万,并且两个数据框的模式相同。
是否有更好、更有效的方法或替代方案?
我期望在所有迭代中完美合并所有数据框并从中删除重复项。