剛剛學習spark,我想知道我在spark腳本期間是否應該在執行運行DF的代碼后清理資料幀?
例如,
# Do something on friends DF...
friendsByAge = lines.select("age", "friends")
friendsByAge.groupBy("age").avg("friends").show()
# now do something unrelated to friends DF
在上述情況下,friendsByAgeDF 是否在整個驅動程式腳本執行期間保留在記憶體中(即使我不再需要它之后),如果是,我應該以某種方式清理它,還是一旦我show將它從記憶體中洗掉?
uj5u.com熱心網友回復:
DataFrame 被延遲加載,因此它僅在您運行 action 時加載show。此外,它不會自動快取(僅當您明確cache或persist它時),因此您無需擔心清理它。如果您確實快取了名為 的 DataFrame df,則可以使用以下方法將其從快取中洗掉:
df.unpersist()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/311438.html
標籤:Python 阿帕奇火花 apache-spark-sql
