Spark的后备存储真的重要吗?

时间:2016-12-06 18:20:54

标签: apache-spark apache-spark-sql

以下陈述是否属实? Spark中使用的后备存储(关系数据库,NoSQL,JSON文件)不是很相关,因为Spark会将所有数据加载到内存中,然后执行分析。

我在阅读了spark.apache.org在线提供的Spark,SparkSQL和GraphX文档后得出了这个结论。我看到的一般模式是首先加载数据,然后定义你想要做的事情(ML,Graphx,Map),然后执行。我的陈述是真的,如果不是为什么?感谢。

1 个答案:

答案 0 :(得分:0)

我认为底层存储很重要。

首先,每个存储都有自己的弱点和好处。例如,HDFS针对需要加载大部分数据(即高吞吐量)的情况进行了优化。同时,HBase是低延迟任务的更好选择。用例的整体性能取决于存储。

除此之外,Spark SQL还能够推送一些过滤器。这意味着数据可以在存储器中进行预过滤,并且只有相关部分才会传输到Spark。这会对计算的性能产生巨大影响。例如,如果您使用Elasticsearch,Apache Parquet或许多其他技术作为底层存储,则会发生预过滤。相反,您将不具有JSON文件的此功能。