Amazon EMR (Elastic MapReduce) 是一項 Amazon Web Services (AWS) 提供的全受管巨量資料 (Big Data) 處理服務。它使得在雲端上輕鬆、快速且經濟高效地運行和擴展 Apache Hadoop、Apache Spark 以及其他巨量資料框架(如 Hive、Presto、Flink 等)變得可能。
簡單來說,如果你有大量的資料需要處理和分析,並且想使用開源的巨量資料工具鏈,但又不想管理底層的伺服器叢集,Amazon EMR 就是為你設計的服務。
主要特點:
- 全受管服務:
- AWS 負責所有底層基礎設施的管理,包括伺服器的佈建、組態、監控、修補和擴展。你無需擔心硬體故障、軟體安裝或叢集維護。
- 這大大簡化了巨量資料叢集的部署和操作。
- 支持多種開源巨量資料框架:
- EMR 不僅支援 Apache Hadoop 和 Apache Spark (最常用的巨量資料處理框架),還支援: Apache Hive: 資料倉儲軟體,允許使用 SQL 查詢資料。Apache Presto (Trino): 分散式 SQL 查詢引擎,用於對大型資料集進行快速分析。Apache Flink: 串流處理框架,用於即時資料分析。Apache HBase: 分散式、非關聯式資料庫。Apache ZooKeeper: 用於分散式應用程式的協調服務。Hue: Web 介面的 Hadoop 應用程式管理器。Ganglia: 監控系統。
- 這讓用戶可以根據其具體的分析需求選擇最合適的工具。
- 彈性擴展 (Elastic Scaling):
- EMR 叢集可以根據你的工作負載需求彈性擴展或縮減。你可以根據需要增加或減少節點,以優化成本和效能。
- 支援手動擴展、自動擴展,甚至可以在工作完成後自動終止叢集,節省成本。
- 成本效益:
- 由於其彈性擴展和按使用量付費的模式,EMR 可以在處理巨量資料時提供較高的成本效益。
- 你可以利用 Spot Instances 來進一步降低運算成本,特別是對於容錯的工作負載。
- 支援單次使用(按小時計費)或長期保留的計算容量。
- 與其他 AWS 服務整合:
- EMR 與其他 AWS 服務無縫整合,例如: Amazon S3: 作為資料湖,提供可擴展且耐用的資料儲存,EMR 可以直接從 S3 讀取和寫入資料。Amazon EC2: EMR 叢集運行在 EC2 實例上。Amazon CloudWatch: 用於監控 EMR 叢集的指標和日誌。AWS Glue Data Catalog: 作為 EMR 的統一中繼資料儲存庫。AWS Lake Formation: 用於資料湖的安全和治理。
典型使用案例:
- 巨量資料處理與轉換 (ETL): 對大量原始數據進行提取、轉換和載入,以用於數據倉儲或分析。
- 日誌分析: 分析來自應用程式、網站和伺服器的大量日誌數據,以獲取營運洞察。
- 點擊流分析: 分析網站使用者的點擊行為,以優化用戶體驗和商業策略。
- 機器學習: 使用 Spark MLlib 等框架在大型數據集上訓練機器學習模型。
- 基因組學和科學模擬: 處理和分析龐大的科學數據。
- 互動式分析: 使用 Presto 或 Spark 進行即時或近即時的數據查詢。










