

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

# 什麼是 Amazon EMR Serverless？
<a name="emr-serverless"></a>

Amazon EMR Serverless 是 Amazon EMR 的部署選項，可提供無伺服器執行期環境。這可簡化使用最新開放原始碼架構的分析應用程式的操作，例如 Apache Spark 和 Apache Hive。使用 EMR Serverless，您不需要設定、最佳化、保護或操作叢集，即可使用這些架構執行應用程式。

EMR Serverless 可協助您避免資料處理任務過度佈建或佈建不足的資源。EMR Serverless 會自動判斷應用程式所需的資源、取得這些資源來處理任務，並在任務完成時釋出資源。對於應用程式在幾秒鐘內需要回應的使用案例，例如互動式資料分析，您可以在建立應用程式時預先初始化應用程式所需的資源。

透過 EMR Serverless，您可以繼續獲得 Amazon EMR 的優勢，例如開放原始碼相容性、並行，以及適用於熱門架構的最佳化執行期效能。

EMR Serverless 適合希望使用開放原始碼架構輕鬆操作應用程式的客戶。它提供快速的任務啟動、自動容量管理和直接的成本控制。

## 概念
<a name="concepts"></a>

在本節中，我們會介紹 EMR Serverless 使用者指南中出現的 EMR Serverless 術語和概念。

### 發行版本
<a name="concepts-release-version"></a>

Amazon EMR *版本*是來自大數據生態系統的一組開放原始碼應用程式。每個版本都包含不同的大數據應用程式、元件和功能，您為 EMR Serverless 選擇要部署和設定，以便它們可以執行您的應用程式。當您建立應用程式時，請指定其發行版本。選擇您要在應用程式中使用的 Amazon EMR 發行版本和開放原始碼架構版本。若要進一步了解發行前版本，請參閱 [Amazon EMR Serverless 發行版本](release-versions.md)。

### 應用程式
<a name="concepts-application"></a>

使用 EMR Serverless，您可以建立一或多個使用開放原始碼分析架構的 EMR Serverless 應用程式。若要建立應用程式，請指定下列屬性：
+ 您要使用的開放原始碼架構版本的 Amazon EMR 發行版本。若要判斷您的發行版本，請參閱 [Amazon EMR Serverless 發行版本](release-versions.md)。
+ 您希望應用程式使用的特定執行時間，例如 Apache Spark 或 Apache Hive。

建立應用程式後，請將資料處理任務或互動式請求提交至您的應用程式。

每個 EMR Serverless 應用程式在安全 Amazon Virtual Private Cloud (VPC) 上執行，與其他應用程式嚴格不同。此外，使用 AWS Identity and Access Management (IAM) 政策來定義哪些使用者和角色可以存取應用程式。您也可以指定限制來控制和追蹤應用程式產生的用量成本。

當您必須執行下列動作時，請考慮建立多個應用程式：
+ 使用不同的開放原始碼架構
+ 針對不同的使用案例使用不同版本的開放原始碼架構
+ 從一個版本升級到另一個版本時執行 A/B 測試
+ 為測試和生產案例維護個別的邏輯環境
+ 為不同團隊提供獨立的成本控制和用量追蹤的個別邏輯環境
+ 分隔不同的line-of-business應用程式

EMR Serverless 是一項區域服務，可簡化工作負載如何跨區域中的多個可用區域執行。若要進一步了解如何搭配 EMR Serverless 使用應用程式，請參閱 [與 EMR Serverless 應用程式互動並設定](applications.md)。

### 作業執行
<a name="concepts-job-run"></a>

*任務執行*是提交至 EMR Serverless 應用程式的請求，應用程式會以非同步方式執行並追蹤完成。任務範例包括您提交至 Apache Hive 應用程式的 HiveQL 查詢，或您提交至 Apache Spark 應用程式的 PySpark 資料處理指令碼。提交任務時，您必須指定在 IAM 中撰寫的執行時間角色，該任務會用來存取 AWS 資源，例如 Amazon S3 物件。您可以向應用程式提交多個任務執行請求，而且每個任務執行都可以使用不同的執行時間角色來存取 AWS 資源。EMR Serverless 應用程式在收到任務後立即開始執行任務，並同時執行多個任務請求。若要進一步了解 EMR Serverless 如何執行任務，請參閱 [執行任務](jobs.md)。

### 工作程序
<a name="concepts-workers"></a>

EMR Serverless 應用程式會在內部使用*工作者*來執行您的工作負載。這些工作者的預設大小取決於您的應用程式類型和 Amazon EMR 發行版本。當您排程任務執行時，請覆寫這些大小。

當您提交任務時，EMR Serverless 會計算應用程式為任務所需的資源，並排程工作者。EMR Serverless 會將工作負載分解為任務、下載映像、佈建和設定工作者，並在任務完成時解除委任。EMR Serverless 會根據任務每個階段所需的工作負載和平行處理，自動擴展或縮減工作者。此自動擴展讓您不需要預估應用程式執行工作負載所需的工作者數量。

### 預先初始化的容量
<a name="concepts-preinitialized-workers"></a>

EMR Serverless 提供*預先初始化的容量*功能，可讓工作者在幾秒鐘內初始化並準備好回應。此容量可有效地為應用程式建立工作者的暖集區。若要為每個應用程式設定此功能，請設定應用程式的 `initial-capacity` 參數。當您設定預先初始化的容量時，任務可以立即開始，以便您可以實作迭代應用程式和時間敏感的任務。若要進一步了解預先初始化的工作者，請參閱 [使用 EMR Serverless 時設定應用程式](application-capacity.md)。

### EMR Studio
<a name="concepts-studio"></a>

EMR Studio 是用於管理 EMR Serverless 應用程式的使用者主控台。如果在您建立第一個 EMR Serverless 應用程式時，您的帳戶中不存在 EMR Studio，我們會自動為您建立一個。從 Amazon EMR 主控台存取 EMR Studio，或透過 IAM 或 IAM Identity Center 開啟來自身分提供者 (IdP) 的聯合存取。當您這樣做時，使用者可以存取 Studio 和管理 EMR Serverless 應用程式，而無需直接存取 Amazon EMR 主控台。若要進一步了解 EMR Serverless 應用程式如何與 EMR Studio 搭配使用，請參閱 [從 EMR Studio 主控台建立 EMR Serverless 應用程式](studio.md)和 [從 EMR Studio 主控台執行任務](jobs-studio.md)。