Apache Spark - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Apache Spark

Apache Spark 是一种分布式处理框架和编程模型,可帮助您使用 Amazon EMR 集群进行机器学习、流处理或图形分析。Spark 与 Apache Hadoop 类似,也是一款常用于大数据工作负载的开源、分布式处理系统。但是,Spark 与 Hadoop MapReduce 有几个显著的区别。Spark 具有经过优化的定向非循环图 (DAG) 执行引擎,可以主动在内存中缓存数据,这可以提高性能,特别是对于某些算法和交互式查询。

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

您可以将 Spark 与其他 Hadoop 应用程序一起安装在亚马逊EMR集群上,它还可以利用亚马逊EMR文件系统 (EMRFS) 直接访问亚马逊 S3 中的数据。Hive 还与 Spark 集成,因此你可以使用 HiveContext 对象通过 Spark 运行 Hive 脚本。Hive 上下文作为 sqlContext 包含在 Spark Shell 中。

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

重要

Apache Spark 版本 2.3.1,从亚马逊EMR版本 5.16.0 开始推出,地址CVE为 -2018-8024 和 -2018-1334。CVE建议您将 Spark 的早期版本迁移到 Spark 2.3.1 版本或更高版本。

下表列出了最新版本的亚马逊 EMR 7.x 系列中包含的 Spark 版本,以及亚马逊与 Spark 一起EMR安装的组件。

有关此版本中与 Spark 一起安装的组件的版本,请参阅 7.3.0 版本的组件版本

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

emr-7.3.0

Spark 3.5.1

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

下表列出了最新版本的亚马逊 EMR 6.x 系列中包含的 Spark 版本,以及亚马逊与 Spark 一起EMR安装的组件。

有关此发行版中随 Spark 安装的组件版本,请参阅发行版 6.15.0 组件版本

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

emr-6.15.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

注意

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

下表列出了最新版本的亚马逊 EMR 5.x 系列中包含的 Spark 版本,以及亚马逊与 Spark 一起EMR安装的组件。

有关此版本中与 Spark 一起安装的组件的版本,请参阅 5.36.2 版组件版本

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

emr-5.36.2

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