火花表是否像RDBMS一样将数据永久存储,并且数据始终可用?

时间:2018-08-08 12:32:31

标签: apache-spark apache-spark-sql databricks

我对Spark不熟悉,并试图了解它的功能。基本上我来自数据库背景,并与Spark数据库和表混淆。因此,我的困惑是,spark是否还会像RDBMS或其他no-sql存储一样,永久地自己存储数据并使其始终可用? 或者,它只是为传入数据创建一个参考点,直到处理持续时间以及处理结束后数据消失为止。 因此,从根本上说,如何利用火花来处理必须定期分批处理或连续流处理的数据。在Spark表中保存数据的时间是几点?

1 个答案:

答案 0 :(得分:0)

Spark不是数据库。它不会自行永久存储数据。它是一个集群计算框架/引擎,也可以在独立环境中工作。火花的确切作用是从各种来源(如HDFS,S3,本地文件系统,rdbms,nosql等)中提取数据,并在各种工作程序节点的内存(RAM)中进行任何分析或转换。如果数据不适合RAM,它可以将数据溢出到本地磁盘。操作完成后,数据将被清除。尽管您可以缓存或持久保存它,直到火花上下文运行之前它都将可用,但有时即使您缓存了数据并且内存已满,它仍会计算LRU(最近最少使用)rdd并将其清除以存储其他rdd。内存管理是Spark中一个有趣的概念。