当我退出spark shell时,所有数据帧数据都消失了。这是正常的吗?

时间:2017-06-22 15:50:04

标签: apache-spark spark-dataframe apache-spark-mllib

我正在学习Apache Spark。我正在将CSV数据加载到数据帧中。这可能需要大约5分钟(大量数据)。当我退出spark-shell并重新登录spark-shell时数据消失了。这是正常的行为吗?我在文档中找不到任何相关内容。如何在会话之间保留数据?

1 个答案:

答案 0 :(得分:1)

是的,它是预期的,类似于ipython shell,如果你创建一个数组,它一旦你退出shell就不会被存储。要存储它,您可以:

import spark.implicits._
val df = spark.range(10).map(l => l.toInt).toDF() // create a mock data frame
df.write.parquet("outputfile.parquet") // save it to a file, consider s3 with s3://yourbucket/yourfile.parquet if it is too large

重新启动shell后,您可以使用以下命令恢复数据框:

spark.read.parquet("outputfile.parquet").collect