вы можете сохранить rdd после преобразования df в rdd.
Сохранение схемы, чтобы мы могли преобразовать обратно rdd в df
rdd_schema = df.schema
df_rdd = df.rdd.persist(StorageLevel.MEMORY_AND_DISK)
df.count() #count is 100
df.write.mode("append").insertInto("schema.table")
Теперь df пропал такмы можем использовать сохраненный rdd для возврата df
df_persisted = spark.createDataFrame(df_rdd, schema=rdd_schema)
df_persisted.count() #count is 100 || This will calculate from persisted rdd