0
我想從本地文件系統讀取csv文件,從中創建數據幀,刪除文件並返回數據幀。是的,我必須刪除它。 由於除刪除之外,所有事情都是懶惰地完成的,所以應用程序失敗,因爲代碼執行時找不到文件。Spark - 從csv文件創建數據框並刪除文件
def do_something() : DataFrame {
val file = File.createTempFile("query2Output", ".csv")
//some code which writes to the file
val df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true")
.option("mode", "DROPMALFORMED")
.load(file.getPath)
file.delete
df
}
謝謝!我嘗試了.cache(),但沒有意識到我必須調用.count()(或任何其他操作)才能生效。 – Raytracer
這是懶惰:)檢查也http://stackoverflow.com/questions/42714291/how-to-force-dataframe-evaluation-in-spark –
順便說一句,爲什麼不會df.count()就夠了? – Raytracer