2017-02-05 6 views
4

Sagen wir, ich habe einen Datenrahmen:PySpark: Muss ich einen DataFrame erneut zwischenspeichern?

rdd = sc.textFile(file) 
df = sqlContext.createDataFrame(rdd) 
df.cache() 

und ich eine Spalte hinzufügen

df = df.withColumn('c1', lit(0))

Ich möchte immer wieder df verwenden. Muss ich also den Datarahmen erneut cache() oder macht Spark es automatisch für mich?

Antwort

4

müssen Sie den Datenrahmen jedes Mal erneut zwischenspeichern, wenn Sie den Datenrahmen manipulieren/ändern. Der gesamte Datenrahmen muss jedoch nicht neu berechnet werden.

df = df.withColumn('c1', lit(0)) 

In der obigen Aussage wird ein neuer Datenrahmen erstellt und variable df zugewiesen. Aber diesmal wird nur die neue Spalte berechnet und der Rest wird aus dem Cache abgerufen.

Verwandte Themen