跳至主要內容

Amazon EMR

Amazon EMR 上的 Apache Spark

為什麼選擇 EMR 上的 Apache Spark?

Amazon EMR 可讓您使用 Apache Spark 和 Apache 冰山建立開放式交易式資料湖。我們的效能最佳化執行階段與開放原始碼 Spark 100% API 相容,執行速度最高可達開放原始碼版本的 4.5 倍,同時提供 2.7 倍的 Iceberg 寫入效能。

EMR 支援 Apache Iceberg v3 和 Spark 4.0 (預覽版),讓您利用 ACID 交易和結構描述演進等功能,以及大規模的 VARIANT 資料類型或半結構化資料等功能,並符合 ANSI SQL 標準以實現資料完整性。無論是需要 EC2 的精細控制、EKS 的容器化規模,還是 EMR Serverless 的簡單性,Amazon EMR 都能提供速度、可靠性和資料完整性。 

功能與優勢

    Amazon EMR 的效能最佳化 Apache Spark 執行階段可加速資料湖工作負載,執行速度比開放原始碼同等產品快 4.5 倍,同時保持 100% API 相容性。這項最佳化延伸至 Apache Iceberg 操作,為需要速度和可靠性的交易資料湖提供 2.7 倍的寫入效能。

    EMR 支援 Apache Iceberg v3 和 Spark 4.0 (預覽版),可實現進階功能,包括 ACID 交易、結構描述演進、半結構化資料處理的 VARIANT 資料類型以及 ANSI SQL 合規性。

    適用於 Spark 的 Amazon EMR 執行階段可將查詢計劃最佳化,以便完全在記憶體內執行,從而最大限度地提高硬體的使用率。透過簡化中間資料的處理方式,EMR 可縮短資源密集型機器學習工作負載的產生結果時間,讓您更快地迭代。

    使用 SageMaker Unified Studio 和 EMR Studio 來現代化您的工作流程,為 SQL、Python 和 Scala 提供整合環境。利用 Amazon Q Developer 生成最佳化的 PySpark 程式碼,並即時對複雜的執行計劃 (DAG) 進行疑難排解。與標準 Spark 不同,EMR 提供持續性 Spark UI,即使無伺服器應用程式或暫存叢集已終止,也能讓您分析和偵錯工作記錄。這種持續性對於生產環境中的稽核和持續效能調整至關重要。

    EMR Serverless 透過提供即開即用筆記本電腦體驗,可消除操作負擔。您不再需要佈建、擴展或管理叢集。您可以將偏好的開發環境 (例如 Amazon SageMaker Unified Studio 或 JupyterLab) 連接到 EMR Serverless 應用程式,然後開始查詢。Spark 的 EMR 執行階段可確保您的互動程式碼以與生產管道相同的企業級速度執行。無論您是對 PB 級 S3 資料執行特殊資料探索,還是執行複雜的特徵工程任務,Amazon EMR 都能提供所需的無縫、高效能環境,以加快最關鍵資料科學工作流程。

    Apache Spark 升級代理程式會自動識別 PySpark 和 Scala 應用程式之間的 API 變更和行為修改。工程師可在 SageMaker Unified Studio 或選擇的 IDE 中,透過模型上下文協定 (MCP) 相容性直接啟動升級。在升級過程中,代理程式會分析現有程式碼並提出具體修改建議,工程師可以在實作之前檢閱和核准。代理程式會透過資料品質驗證來確保功能正確性。目前,該代理程式支援從 Spark 2.4 升級至 3.5,並在整個升級過程中維持資料處理的準確度。

使用案例

    在 EMR 上使用 Spark Streaming,取用和處理來自 Amazon KinesisApache Kafka 或其他資料串流的即時資料。以容錯方式執行串流分析,並將結果寫入 S3 或叢集上的 HDFS。

    EMR 上的 Apache Spark 包含用於各種可擴展機器學習演算法的 MLlib,或者您可以使用自己的程式庫。透過在任務期間將資料集存放在記憶體內,Spark 對於機器學習工作負載中常見的重複性查詢具有絕佳的效能。您可以透過將筆記本執行個體連接至 Amazon EMR 上執行的 Apache Spark 叢集來增強 Amazon SageMaker 功能,使用 Amazon SageMaker Spark,可以輕鬆培訓模型和託管模型。

    使用 Spark SQL 搭配 SQL 或 HiveQL,提供低延遲、互動式查詢。EMR 上的 Spark 可利用 EMRFS,所以您可以臨機操作存取 S3 中的資料集。您也可以透過 ODBC 和 JDBC 連接利用 EMR Studio、EMR Notebooks、Zeppelin 筆記本或 BI 工具。

客戶成功案例

Yelp

Missing alt text value Yelp 廣告定位團隊制訂一個預測模式來判斷使用者與廣告互動的可能性。Yelp 利用在 Amazon EMR 上使用 Apache Spark 處理大量資料以訓練機器學習模型,提高了收益和廣告點擊率。

The Washington Post

Missing alt text value 華盛頓郵報 (The Washington Post) 在 Amazon EMR 上使用 Apache Spark 建置支援網站推薦引擎的模型,以促進讀者互動和提升滿意度。他們利用 Amazon EMR 與 Amazon S3 的效能連線,以近乎即時的速度更新模型。

Krux

Missing alt text value 作為針對客戶深入剖析的資料管理平台的一部分,Krux 使用 Apache Spark 來執行許多機器學習和一般處理工作負載。Krux 利用暫時性 Amazon EMR 叢集搭配 Amazon EC2 競價型容量來節省成本,並使用 Amazon S3 搭配 EMRFS 作為 Apache Spark 的資料層。

GumGum

Missing alt text value GumGum 是一個圖像內置和螢幕內置廣告平台,在 Amazon EMR 上使用 Spark 進行庫存預測、處理點擊流記錄及臨機操作分析 Amazon S3 中的未結構化資料。Spark 的效能增強節省了 GumGum 在這些工作流程上的時間和金錢。

Hearst Corporation

Missing alt text value Hearst Corporation 是大型的多元化媒體和資訊公司,客戶在超過 200 個 Web 資產上檢視內容。Hearst 的編輯人員在 Amazon EMR 上使用 Apache Spark Streaming,可掌握高點閱率文章和引領趨勢主題的即時脈動。

CrowdStrike

Missing alt text value CrowdStrike 提供端點保護以阻止違規。他們使用 Amazon EMR 搭配 Spark 來處理數百 TB 的事件資料,將它們彙整成主機上更高層級的行為描述。CrowdStrike 可從該資料彙整事件資料,並識別是否存在惡意活動。