[英]Caching a PySpark Dataframe
假設我們有一個大約 10M 行的 PySpark 數據幀df
。 也讓列是[col_a, col_b]
。 哪個會更快:
df_test = df.sample(0.1)
for i in range(10):
df_sample = df_test.select(df.col_a).distinct().take(10)
或者
df_test = df.sample(0.1)
df_test = df_test.cache()
for i in range(10):
df_sample = df_test.select(df.col_a).distinct().take(10)
在這里緩存df_test
有意義嗎?
它不會有太大的不同。 這只是一個循環,您可以在其中跳過緩存,如下所示
>>> for i in range(10):
... df_sample = df.sample(0.1).select(df.id).distinct().take(10)
這里 spark 在內存中加載一次數據。
如果您想在其他操作中重復使用 df_sample ,則可以使用 cache()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.