Если мы создаем dataFrame из объектов Python, таких как [dict или list], даже если данные 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