来自大型python对象的dataFrame数据

时间:2018-12-11 11:55:55

标签: python apache-spark pyspark

如果我们是从[dict或list]之类的python对象创建dataFrame的,即使python数据应该由GC收集,但就dataFrame而言,它仍然需要保留数据源。 因此,每个python对象都保存在解释器的内存中。如果此类对象确实很大,则可能会导致火花执行失败,因为python解释器无法获取足够的内存。我说的对吗?

def get_df():
    # d should be collected by GC after leaving body of function
    d = {'a': 1}
    df = spark.createDataFrame(d)
    return df
df = get_df()
# d still in memory of interpreter

0 个答案:

没有答案