Apache Spark 是常用於大數據工作負載的開放原始碼、分散式處理系統。Apache Spark 利用記憶體內快取和優化執行以獲得快速效能,且支援一般批次處理、串流分析、機器學習、圖形資料庫及臨機操作查詢。
Amazon EMR 原本就支援 Hadoop YARN 上的 Apache Spark,您可以從 AWS 管理主控台、AWS CLI 或 Amazon EMR API,輕鬆快速地建立受管的 Apache Spark 叢集。不僅如此,您也可以利用其他的 Amazon EMR 功能,包括使用 Amazon EMR 檔案系統 (EMRFS) 快速連接 Amazon S3、與 Amazon EC2 競價市場整合,以及調整命令大小以輕鬆在叢集中新增或移除執行個體。您還可以使用 Apache Zeppelin,針對使用 Apache Spark 的資料探索來建立互動和協作式的筆記本。
透過使用 Directed Acyclic Graph (DAG) 執行引擎,Apache Spark 即可為資料轉換建立有效的查詢計劃。Apache Spark 也將輸入、輸出和中繼資料存放在記憶體內做為恢復分散式資料集 (RDD),可供快速處理,不但無需 I/O 成本,也大幅提升重複性或互動式工作負載的效能。
Apache Spark 包含數個程式庫,協助建置適用於機器學習 (MLlib)、串流處理 (Spark Streaming) 和圖形處理 (GraphX) 的應用程式。這些現成的程式庫在 Apache Spark 生態系統中緊密整合,可用來解決各種使用案例。
使用 Amazon EMR Step API 提交 Apache Spark 任務、使用 Apache Spark 搭配 EMRFS 直接存取 Amazon S3 中的資料、使用 Amazon EC2 競價型容量節省成本,以及啟動長時間執行或暫時性叢集以因應您的工作負載。Amazon EMR 在 Hadoop YARN 上安裝並管理 Apache Spark,您也可以在叢集上新增其他 Hadoop 生態系統應用程式。按一下此處了解有關 Amazon EMR 功能的詳細資訊。
Intent Media
Intent Media 營運一個平台來廣告旅遊商業網站。資料團隊在 Amazon EMR 上使用 Apache Spark 和 MLlib,每天導入數 TB 的電子商務資料,並使用這些資料為他們的決策服務提供技術支援,以優化客戶收益。按一下此處可進一步了解。
Krux
作為針對客戶深入剖析的資料管理平台的一部分,Krux 使用 Apache Spark 來執行許多機器學習和一般處理工作負載。Krux 利用暫時性 Amazon EMR 叢集搭配 Amazon EC2 競價型容量來節省成本,並使用 Amazon S3 搭配 EMRFS 作為 Apache Spark 的資料層。
GumGum
GumGum 是一個圖像內置和螢幕內置廣告平台,在 Amazon EMR 上使用 Spark 進行庫存預測、處理點擊流記錄及臨機操作分析 Amazon S3 中的未結構化資料。Spark 的效能增強節省了 GumGum 在這些工作流程上的時間和金錢。
CrowdStrike
CrowdStrike 提供終端節點保護以阻止違規。他們使用 Amazon EMR 搭配 Spark 來處理數百 TB 的事件資料,將它們彙整成主機上更高層級的行為描述。CrowdStrike 可從該資料有效的利用事件資料,並識別是否存在惡意活動。
在 Amazon EMR 上使用 Spark Streaming,取用和處理來自 Amazon Kinesis、Apache Kafka 或其他資料串流的即時資料。以容錯方式執行串流分析,並將結果寫入 Amazon S3 或叢集上的 HDFS。
- 建立具有 Apache Spark 的 Amazon EMR 叢集簡介
- 在適用於 Spark 專案的 The Apache Software Foundation 網站進一步了解 Spark 專案
- AWS 部落格中有關推出 Amazon EMR 上 Spark 的文章和示範
- AWS 大數據部落格中由 Intent Media 張貼有關在 Amazon EMR 上使用 Apache Spark 建立機器學習的訪客文章