Apache Spark - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Apache Spark

Apache Spark 是一个分布式处理框架和编程模型,可帮助您使用 Amazon EMR 集群进行机器学习、流处理或图形分析。Spark 与 Apache Hadoop 类似,也是一款常用于大数据工作负载的开源、分布式处理系统。但 Spark 与 Hadoop MapReduce 有一些明显的不同。Spark 拥有经过优化的有向无环图 (DAG) 执行引擎并会积极地在内存中缓存数据,这可提高性能,尤其是对于某些算法和交互式查询。

Spark 内在支持使用 Scala、Python 和 Java 编写的应用程序。它还包含几个紧密集成的库,适用于 SQL(Spark SQL)、机器学习(MLlib)、流处理(Spark Streaming)和图形处理(GraphX)。这些工具可让您更轻松地在各种使用案例中充分发挥 Spark 框架的优势。

您可以在 Amazon EMR 集群上与其他 Hadoop 应用程序一同安装 Spark,它还能借助 EMR 文件系统(EMRFS)直接访问 Amazon S3 中的数据。Hive 也与 Spark 集成,以便您使用 HiveContext 对象运行使用 Spark 的 Hive 脚本。Hive 上下文作为 sqlContext 包含在 Spark Shell 中。

有关使用 Spark 设置 EMR 集群和分析示例数据集的示例教程,请参阅 Amazon 新闻博客上的 教程:Amazon EMR 入门

重要

Apache Spark 版本 2.3.1(从 Amazon EMR 发行版 5.16.0 开始提供)解决了 CVE-2018-8024CVE-2018-1334 问题。建议您将 Spark 的早期版本迁移到 Spark 2.3.1 版本或更高版本。

下表列出了 Amazon EMR 6.x 系列的最新发行版附带的 Spark 的版本,以及 Amazon EMR 随 Spark 一起安装的组件。

有关此发行版中随 Spark 安装的组件版本,请参阅 Release 6.14.0 Component Versions

emr-6.14.0 的 Spark 版本信息
Amazon EMR 发行版标签 Spark 版本 随 Spark 安装的组件

emr-6.14.0

Spark 3.4.1

aws-sagemaker-spark-sdk, delta, emrfs, emr-goodies, emr-ddb, emr-s3-select, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hudi, hudi-spark, iceberg, livy-server, nginx, r, spark-client, spark-history-server, spark-on-yarn, spark-yarn-slave

注意

Amazon EMR 发行版 6.8.0 随附 Apache Spar 3.3.0。此 Spark 发行版使用 Apache Log4j 2 和 log4j2.properties 文件,在 Spark 进程中配置 Log4j。如果您在集群中使用 Spark 或使用自定义配置参数创建 EMR 集群,并且希望升级到 Amazon EMR 发行版 6.8.0,则必须迁移到新的 spark-log4j2 配置分类和 Apache Log4j 2 的密钥格式。有关更多信息,请参阅从 Apache Log4j 1.x 迁移到 Log4j 2.x

下表列出了 Amazon EMR 5.x 系列的最新发行版附带的 Spark 的版本,以及 Amazon EMR 随 Spark 一起安装的组件。

有关此发行版中随 Spark 安装的组件版本,请参阅 Release 6.14.0 Component Versions

emr-5.36.1 的 Spark 版本信息
Amazon EMR 发行版标签 Spark 版本 随 Spark 安装的组件

emr-5.36.1

Spark 2.4.8

aws-sagemaker-spark-sdk, emrfs, emr-goodies, emr-ddb, emr-s3-select, hadoop-client, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, hudi, hudi-spark, livy-server, nginx, r, spark-client, spark-history-server, spark-on-yarn, spark-yarn-slave