Apache Spark的局限性
用户在使用它时必须面对Apache Spark的一些限制。本文完全侧重于Apache Spark的限制以及克服这些限制的方法。让我们详细阅读Apache Spark的以下限制以及克服这些Apache Spark限制的方法。
1.没有文件管理系统
Apache Spark中没有文件管理系统,需要与其他平台集成。因此,它依赖于Hadoop等其他平台或任何其他基于云的文件管理系统平台。这是Apache Spark的主要限制之一。
2.不进行实时数据处理
Spark不完全支持实时数据流处理。在Spark流中,实时数据流被分为几批,称为Spark RDD(弹性分布式数据库)。在这些RDD上应用诸如join,map或reduce等操作来处理它们。处理后,结果再次转换为批次。这样,Spark流只是一个微批处理。因此,它不支持完整的实时处理,但是有点接近它。
3.昂贵
在谈论大数据的经济高效处理时,将数据保存在内存中并不容易。使用Spark时,内存消耗非常高。Spark需要巨大的RAM来处理内存。Spark中的内存消耗非常高,因此用户友好性并不高。运行Spark所需的额外内存成本很高,这使Spark变得昂贵。
4.小文件发行
当我们将Spark与Hadoop一起使用时,存在文件较小的问题。HDFS附带了数量有限的大文件,但有大量的小文件。如果我们将Spark与HDFS一起使用,则此问题将持续存在。但是使用Spark时,所有数据都以zip文件的形式存储在S3中。现在的问题是所有这些小的zip文件都需要解压缩才能收集数据文件。
仅当一个核心中包含完整文件时,才可以压缩zip文件。仅按顺序刻录核心和解压缩文件需要大量时间。此耗时的长过程也影响数据处理。为了进行有效处理,需要对数据进行大量改组。
