

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

# 新增內容
<a name="emr-whatsnew"></a>

本頁描述了 Amazon EMR 7.x、6.x 和 5.x 最新版本中的變更與功能。

這些版本備註也適用於 [Amazon EMR 7.13.0](emr-7130-release.md)、[Amazon EMR 6.15.0](emr-6150-release.md) 和 [Amazon EMR 5.36.2](emr-5362-release.md) 頁面，以及每個版本的應用程式版本、元件版本和可用的組態分類。
+ 如需先前版本的版本備註，請參閱 [Amazon EMR 版本備註的封存檔案](emr-whatsnew-history.md)。
+ 若要在新的 Amazon EMR 版本可用時取得更新，請訂閱 [Amazon EMR 版本備註的 RSS 摘要](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/amazon-emr-release-notes.rss)。

**注意**  
Amazon EMR 的稍後版本使用 AWS Signature 第 4 版 (SigV4) 來驗證對 Amazon S3 的請求。建議您使用支援 SigV4 的 Amazon EMR 版本，以便存取新的 S3 儲存貯體並避免工作負載中斷。如需詳細資訊和支援 SigV4 的 Amazon EMR 版本清單，請參閱 [Amazon EMR 和 AWS Signature 第 4 版](#emr-sigv4)。

## Apache Spark 升級和故障診斷代理程式
<a name="emr-spark-agents-whatsnew"></a>

**Apache Spark 升級代理程式**

適用於 Amazon EMR 的 Apache Spark 升級代理程式是一種對話式 AI 功能，可加速 EMR 應用程式的 Apache Spark 版本升級。傳統 Spark 升級需要數月的工程工作來分析 API 變更、解決相依性衝突，以及驗證功能正確性。代理程式透過自然語言提示、自動化程式碼轉換和資料品質驗證來簡化升級程序。

您可以使用 代理程式升級在 Amazon EMR on EC2 和 Amazon EMR Serverless 上執行的 PySpark 和 Scala 應用程式。代理程式會分析您的程式碼、識別必要的變更，並執行自動化轉換，同時維持您對所有修改的核准控制。如需詳細資訊，請參閱 [什麼是 Amazon EMR 的 Apache Spark 升級代理程式](spark-upgrades.md)。

**Apache Spark 疑難排解代理程式**

Amazon EMR 的 Apache Spark 疑難排解代理程式是一種對話式 AI 功能，可簡化 Amazon EMR、 AWS Glue 和 Amazon SageMaker 筆記本上 Apache Spark 應用程式的疑難排解。傳統 Spark 疑難排解需要對日誌、效能指標和錯誤模式進行廣泛的手動分析，以識別根本原因和程式碼修正。代理程式透過自然語言提示、自動化工作負載分析和智慧型程式碼建議來簡化此程序。

您可以使用代理程式對 PySpark 和 Scala 應用程式失敗進行故障診斷。代理程式會分析失敗的任務、識別效能瓶頸，並提供可行的建議和程式碼修正，同時讓您完全掌控實作決策。如需詳細資訊，請參閱 [什麼是適用於 Amazon EMR 的 Apache Spark 故障診斷代理程式](spark-troubleshoot.md)。

## Amazon EMR 7.13.0 (7.x 系列的最新版本）
<a name="emr-7130-whatsnew"></a>

從初始版本日期的第一個區域開始，新的 Amazon EMR 版本將在幾天內在不同區域推出。在此期間，您所在區域可能無法使用最新版本。

下列版本備註包含 Amazon EMR 7.13.0 版的資訊。

### 新功能
<a name="emr-7130-whatsnew"></a>
+ **PySpark 和 Spark 工作負載的 Python 3.11 預設** — Python 3.11 現在是 PySpark 和 Spark 工作負載的預設 Python 版本。Python 3.9 仍是所有其他應用程式的預設值。Python 3.9 和 3.11 都包含在 版本中。

### 變更、強化功能和已解決的問題
<a name="emr-7130-changes"></a>
+ **Iceberg 組態屬性** — Amazon EMR 7.13 新增了 Iceberg 組態屬性 `spark.sql.catalog.spark_catalog.route-non-iceberg-drop-to-session-catalog`。設為 時`true`，`DROP TABLE`在 中的非 Iceberg 受管資料表上， 會同時`SparkSessionCatalog`刪除資料表中繼資料和基礎 Amazon S3 資料。預設值為 `false`。

### 應用程式升級
<a name="emr-7130-app-upgrades"></a>

在此版本中升級了下列應用程式：
+ HBase 2.6.4-amzn-0 （從 2.6.2-amzn-3 升級）
+ Hadoop 3.4.2-amzn-0 （從 3.4.1-amzn-4 升級）
+ Phoenix 5.3.0 （從 5.2.1 升級）
+ Hudi 1.0.2-amzn-2 （從 1.0.2-amzn-1 升級）
+ Trino 479-amzn-1 （從 476-amzn-1 升級）
+ AWS SDK v2 2.42.12 （從 2.35.5 升級）
+ AWS SDK v1 1.12.797 （從 1.12.792 升級）
+ Spark 3.5.6-amzn-2、Hive 3.1.3-amzn-22、Tez 0.10.2-amzn-20、Presto 0.287-amzn-7、Iceberg 1.10.0-amzn-1、Delta 3.3.2-amzn-2、Flink 1.20.0-amzn-7、ZooKeeper 3.9.3-amzn-5 (amzn 修補程式凸點）

### 已知問題和限制
<a name="emr-7130-known-issues"></a>

此版本中沒有已知問題。

## Amazon EMR 6.15.0 (6.x 系列的最新版本)
<a name="emr-6150-whatsnew"></a>

從初始版本日期的第一個區域開始，新的 Amazon EMR 版本將在幾天內在不同區域推出。在此期間，您所在區域可能無法使用最新版本。

以下版本備註包含 Amazon EMR 6.15.0 版的資訊。變更是相對於 6.14.0 版而言。如需有關發行時間表的資訊，請參閱 [6.15.0 變更日誌](emr-6150-release.md#6150-changelog)。

**新功能**
+ **應用程式升級**：Amazon EMR 6.15.0 application upgrades include Apache Hadoop 3.3.6, Apache Hudi 0.14.0-amzn-0, Iceberg 1.4.0-amzn-0, and Trino 426.
+ **[在 EC2 上執行的 EMR 叢集啟動速度更快](https://aws.amazon.com/about-aws/whats-new/2023/11/amazon-emr-ec2-clusters-5-minutes-less/)**：現在啟動 EC2 上的 Amazon EMR 叢集的速度快了 35%。透過這項改善，大多數客戶就可以在 5 分鐘或更短的時間內啟動叢集。
+ **[適用於 EMR Studio 的 CodeWhisperer](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-codewhisperer.html)**：您現在可以在 JupyterLab 中編寫程式碼時，將 Amazon CodeWhisperer 與 Amazon EMR Studio 搭配使用，以取得即時建議。CodeWhisperer 可以填寫註解、完成單行程式碼、提出逐行建議，以及產生完整的函數。
+ **[使用 Flink 縮短作業重新啟動時間](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/flink-restart.html)**：使用 Amazon EMR 6.15.0 及更高版本時，Apache Flink 可以使用多種新機制，以改善任務復原或擴展操作期間的作業重新啟動時間。這樣可以優化復原和重新開始執行圖形的速度，以改善作業穩定性。
+ **[開放資料表格式的資料表層級和精細存取控制](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-lf-enable.html)** – 使用 Amazon EMR 6.15.0 和更高版本時，當您在存取 Glue Data Catalog 中資料的 EC2 叢集上執行 Amazon EMR 上的 Spark AWS 任務時，您可以使用 AWS Lake Formation 在 Hudi、Iceberg 或 Delta Lake 型資料表上套用資料表、資料列、資料欄和儲存格層級許可。
+ **Hadoop 升級**：Amazon EMR 6.15.0 包含將 Apache Hadoop 升級至 3.3.6 版。Hadoop 3.3.6 是在 Amazon EMR 6.15 部署時的最新版本，由 Apache 於 2023 年 6 月發行。Amazon EMR 的先前版本 (6.9.0 到 6.14.x) 使用 Hadoop 3.3.3。

  此升級包括數百個改善和修正，以及包括可重新設定的資料節點參數的功能，用於在所有即時資料節點上啟動批量重新設定操作的 `DFSAdmin` 選項，以及允許大量搜尋讀取器以指定多個讀取範圍的具向量 API。Hadoop 3.3.6 還新增對 HDFS API 和對預寫日誌 (WAL) 語義的支援，如此 HBase 就可以在其他儲存系統實作上執行。如需詳細資訊，請參閱 Apache Hadoop 文件**中的版本 [3.3.4](https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-common/release/3.3.4/CHANGELOG.3.3.4.html)、[3.3.5](https://hadoop.apache.org/docs/r3.3.5/hadoop-project-dist/hadoop-common/release/3.3.5/CHANGELOG.3.3.5.html) 和 [3.3.6](https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/release/3.3.6/CHANGELOG.3.3.6.html) 版的變更日誌。
+ **支援適用於 Java 的 AWS SDK 第 2 版** - 如果應用程式支援 v2，Amazon EMR 6.15.0 應用程式可以使用適用於 Java 的 AWS SDK 第 [1.12.569](https://github.com/aws/aws-sdk-java/tree/1.12.569) 版或 [2.20.160 ](https://github.com/aws/aws-sdk-java-v2/tree/2.20.160)版。適用於 Java 的 AWS SDK 2.x 是 1.x 版程式碼庫的主要重寫。它建置在 Java 8\+ 上，並新增了數個經常請求的功能。這些包括支援非封鎖 I/O 以及能夠在執行期外掛不同的 HTTP 實作。如需詳細資訊 (包括**從適用於 Java 第 1 版的開發套件遷移至第 2 版的遷移指南**)，請參閱 [AWS SDK for Java 第 2 版](https://docs.aws.amazon.com/sdk-for-java)指南。

**已知問題**
+ 當節點上有大量執行緒和/或開啟的檔案控點時，監控執行個體運作狀態的叢集上執行個體狀態指令碼可能會耗用過多的 CPU 和記憶體資源。

**變更、強化功能和已解決的問題**
+  從 Spark 3.3.1 (EMR 6.10 版及更高版本支援） 開始，解除委任主機中的所有執行器都會設定為新的 `ExecutorState`，稱為 *DECOMMISSIONING* 狀態。Yarn 無法使用解除委任的執行器來配置任務，因此會視需要為正在執行的任務請求新的執行器。因此，如果您在使用 EMR Managed Scaling、EMR Auto Scaling 或 EMR-EC2 叢集上的任何自訂擴展機制時停用 Spark DRA，則 Yarn 可能會為每個任務請求允許的執行器上限。為了避免此問題，當您使用上述功能組合時，請將 `spark.dynamicAllocation.enabled` 屬性設為 `TRUE`（這是預設值）。此外，您也可以設定 Spark 任務的 `spark.dynamicAllocation.maxExecutors`和 `spark.dynamicAllocation.minExecutors` 屬性值，以限制任務執行期間配置的執行器數量，藉此設定最小和最大執行器限制。
+ 為了改善高可用性 EMR 叢集，此版本可讓您連線到使用 IPv6 端點之本機主機上的 Amazon EMR 常駐程式。
+ 此版本啟用 TLS 1.2，以便與在高可用性叢集之所有主節點上佈建的 ZooKeeper 通訊。
+ 此版本改善了在主節點上維護之 ZooKeeper 交易日誌檔案的管理，以盡可能減少日誌檔案的成長超出界限和中斷叢集操作的情形。
+ 此版本使高可用性 EMR 叢集的節點內部通訊更具彈性。此改善可減少引導動作失敗或叢集啟動失敗的可能性。
+ Amazon EMR 6.15.0 中的 Tez 引入您可以指定在 Tez 分組分割中非同步開啟輸入分割的組態。當單一 Tez 分組分割中有大量輸入分割時，這有助於改善讀取查詢的效能。如需詳細資訊，請參閱 [Tez 非同步分割開啟](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/tez-configure.html#tez-configure-async)。
+ 當您啟動具有 **Amazon EMR 5.36 或更高版本、6.6 或更高版本或 7.0 或更高版本的叢集時，Amazon EMR 會使用預設 Amazon EMR AMI 的最新 Amazon Linux 2023 或 Amazon Linux 2 版本。如需詳細資訊，請參閱[使用預設 Amazon Linux AMI for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-default-ami.html)。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/emr/latest/ReleaseGuide/emr-whatsnew.html)

## Amazon EMR 5.36.2 (5.x 系列的最新版本）
<a name="emr-5362-whatsnew"></a>

從初始版本日期的第一個區域開始，新的 Amazon EMR 版本將在幾天內在不同區域推出。在此期間，您所在區域可能無法使用最新版本。

下列版本備註包含 Amazon EMR 5.36.2 版的資訊。變更是相對於 5.36.1 版而言。如需有關發行時間表的資訊，請參閱 [變更日誌](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-5362-release.html#5362-changelog)。

**變更、強化功能和已解決的問題**
+ 此版本改善了叢集縮減邏輯，使得 Amazon EMR 不會將核心節點縮減至低於叢集的 HDFS 複寫因素設定。這項改進可滿足資料備援需求，並降低擴展操作可能停止的機會。
+ 此版本為叢集擴展工作流程新增一種重試機制，以用於執行 Presto 或 Trino 的 EMR 叢集。這項改善可降低叢集調整大小因單一調整大小操作失敗而無限期執行的風險。它還提高了叢集使用率，因為您的叢集可以更快地擴增與縮減規模。
+ 修正叢集縮減操作可能會在 Amazon EMR 正常停用核心節點時停止運作，並在完全停用之前變成運作狀態不佳的問題。
+ 當 Amazon EMR 重新啟動單一節點時，改善具有多個主節點之高可用性叢集中節點的穩定性。
+ 使用在 Amazon EC2 上執行的 Amazon EMR 最佳化日誌管理。因此，您可能發現叢集日誌的儲存成本略微降低。
+ 改善主節點上維護的 ZooKeeper 交易日誌檔案的管理，以盡量減少日誌檔案超出界限並中斷叢集操作的情況。
+ 修正因無法與 Yarn ResourceManager 通訊而導致具有多個主節點的高可用性叢集失敗的罕見錯誤。
+ 當您啟動具有 **Amazon EMR 5.36 或更高版本、6.6 或更高版本，或 7.0 或更高版本的叢集時，Amazon EMR 會使用預設 Amazon EMR AMI 的最新 Amazon Linux 2023 或 Amazon Linux 2 版本。如需詳細資訊，請參閱[使用預設 Amazon Linux AMI for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-default-ami.html)。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/emr/latest/ReleaseGuide/emr-whatsnew.html)

## Amazon EMR 和 AWS Signature 第 4 版
<a name="emr-sigv4"></a>

Amazon EMR 版本使用 AWS Signature 第 4 版 (SigV4) 來驗證對 Amazon S3 的請求。2020 年 6 月 24 日之後在 Amazon S3 中建立的儲存貯體不支援由第 2 版簽署程序 (SigV2) 簽署的請求。在 2020 年 6 月 24 日或更早建立的儲存貯體將繼續支援 SigV2。建議您遷移至支援 SigV4 的 Amazon EMR 版本，以便存取新的 S3 儲存貯體並避免工作負載中斷。

如果您使用的應用程式包含在 Amazon EMR 中，例如 Apache Spark、Apache Hive 和 Presto，則不需要變更應用程式的程式碼來使用 SigV4。如果您使用的是未隨附於 Amazon EMR 中的自訂應用程式，則可能需要更新程式碼，才能使用 SigV4。如需詳細資訊，請參閱《Amazon S3 使用者指南》中的[從 Signature 第 2 版遷移至 Signature 第 4 版](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#UsingAWSSDK-move-to-Sig4)。

以下 Amazon EMR 版本支援 SigV4：emr-4.7.4, emr-4.8.5, emr-4.9.6, emr-4.10.1, emr-5.1.1, emr-5.2.3, emr-5.3.2, emr-5.4.1, emr-5.5.4, emr-5.6.1, emr-5.7.1, emr-5.8.3, emr-5.9.1, emr-5.10.1, emr-5.11.4, emr-5.12.3, emr-5.13.1, emr-5.14.2, emr-5.15.1, emr-5.16.1, emr-5.17.2, emr-5.18.1, emr-5.19.1, emr-5.20.1, emr-5.21.2, and emr-5.22.0 and higher。所有 6.x 和 7.x 版都支援 SigV4。