2017-08-29 4 views
0

RDDsは、複数回使用する場合はcache()になるはずです。Spark DataFrameで同じ列に複数回c​​all funcが混乱する

しかし、DataFrameはどうですか?この例

思考:

df = spark.createDataFrame([('1', ['a', 'B']), ('2', ['C', 'd'])], ['idx', 'item']) 
res = df.select(df['idx'], *[upper(df['item'][i]) for i in range(2)]) 

私は二回コラムdf['item']upperを呼び出します。

upperをもう一度実行すると、dfが再度生成されますか?

cache()dfに電話する必要がありますか?

答えて

0

キャッシュする必要はありません。お客様のコードはdfに一度だけアクセスします。列を参照する:

df['item'][i] 

データの計算を必要としません。

関連する問題