Apache Spark vs.Apache Hadoop
除了 Spark 和 Hadoop MapReduce 的设计差异,很多组织还发现这两个大数据框架之间存在互补性,并且会同时使用二者来克服更广泛的业务挑战。
Hadoop 是一种开源框架,它将 Hadoop 分布式文件系统 (HDFS) 用于存储,将 YARN 作为管理由不同应用程序所使用的计算资源的方式,并且实现 MapReduce 编程模型来充当执行引擎。在一般 Hadoop 实现中,还会部署不同的执行引擎,如 Spark、Tez 和 Presto。
Spark 是一种专门用于交互式查询、机器学习和实时工作负载的开源框架。它没有自己的存储系统,但会在其他存储系统,如 HDFS,或其他热门存储,如 Amazon Redshift、Amazon S3、Couchbase、Cassandra 等之上运行分析。Hadoop 上的 Spark 会利用 YARN 来分享常见的集群和数据集作为其他 Hadoop 引擎,确保服务和响应的一致性水平。
Apache Spark 有哪些优点?
Apache Spark 所具有的众多优点使其成为 Hadoop 生态系统中最活跃的项目之一。其中包括:
快速
通过内存中缓存和优化的查询执行方式,Spark 可针对任何规模的数据进行快速分析查询。开发人员友好
Apache Spark 原生支持 Java、Scala、R 和 Python,可为您提供多种应用程序构建语言。这些 API 让您的开发人员变得更轻松,因为它们可以将复杂的分布式处理隐藏在简单的高级操作符背后,从而大量减少所需的代码数量。多个工作负载
Apache Spark 自带运行多个工作负载功能,包括交互式查询、实时分析、机器学习和图形处理等。一个应用程序可无缝与多个工作负载整合。