Apache Spark - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Apache Spark

Apache Spark 是一種分散式處理架構和程式設計模型,可協助您使用 Amazon EMR叢集進行機器學習、串流處理或圖形分析。與 Apache Hadoop 類似,Spark 是一種開放原始碼、分散式處理系統,通常用於大數據的工作負載。不過,Spark 與 Hadoop 有幾個顯著差異 MapReduce。Spark 具有最佳化的定向非循環圖形 (DAG) 執行引擎,並主動快取記憶體中的資料,這可以提高效能,尤其是針對特定演算法和互動式查詢。

Spark 原本就支援 Scala、Python 和 Java 編寫的應用程式。它也包含數個緊密整合的程式庫,適用於 SQL(Spark )、機器學習 ()MLlib、串流處理 (Spark 串流 ) 和圖形處理 (GraphX)。 SQL這些工具可讓您更輕鬆地將 Spark 架構用於各式各樣的使用案例。

您可以在 Amazon EMR叢集和其他 Hadoop 應用程式上安裝 Spark,也可以利用 Amazon EMR 檔案系統 (EMRFS) 直接存取 Amazon S3 中的資料。Hive 也與 Spark 整合,因此您可以使用 HiveContext 物件使用 Spark 執行 Hive 指令碼。Hive 內容包含在 spark-shell 做為 sqlContext

如需使用 Spark 設定EMR叢集和分析範例資料集的範例教學課程,請參閱 AWS 新聞部落格EMR上的教學課程:開始使用 Amazon

重要

Apache Spark 2.3.1 版,從 Amazon 5.16.0 EMR版開始提供,地址為 CVE-2018-8024CVE-2018-1334。建議您將舊版 Spark 遷移至 Spark 版本 2.3.1 或更高版本。

下表列出 Amazon EMR 7.x 系列最新版本中包含的 Spark 版本,以及 Amazon 搭配 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

下表列出 Amazon EMR 6.x 系列最新版本中包含的 Spark 版本,以及 Amazon 搭配 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

注意

Amazon 6.8.0 EMR版隨附 Apache Spark 3.3.0。此 Spark 版本使用 Apache Log4j 2 和 log4j2.properties 檔案,以設定 Spark 程序中的 Log4j。如果您在叢集中使用 Spark 或使用自訂組態參數建立EMR叢集,而且想要升級至 Amazon 6.8.0 EMR版,則必須遷移至 Apache Log4j 2 的新spark-log4j2組態分類和金鑰格式。如需詳細資訊,請參閱從 Apache Log4j 1.x 遷移至 Log4j 2.x

下表列出 Amazon EMR 5.x 系列最新版本中包含的 Spark 版本,以及 Amazon 搭配 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