使用從Hive導入的Spark數據框,有時候最終會得到幾個不需要的列。假設我不想與在PySpark數據框中選擇特定列以提高性能
df = SqlContext.sql('select cols from mytable')
對其進行過濾和我導入整個表
df = SqlContext.table(mytable)
做了select
和隨後cache
提高性能/減少內存使用情況,像
df = df.select('col_1', 'col_2', 'col_3')
df.cache()
df.count()
還是隻是浪費時間?我會做很多操作和數據操作上df
,像avg
,withColumn
等
Cache有很多幫助,所以它會提升性能。 –
但是事先做一個選擇是否值得? – Ivan
是的,如果您在以下步驟中不需要其他列 - 那麼您只需要緩存中的列 – MaxU