Amazon EMR 入門
如何使用 EMR
1.選擇您偏好的 EMR 部署模型
Amazon EMR 可讓您使用 Apache Spark、Hive、Flink、Trino 等開放原始碼工具來處理大量資料。只需選擇您喜歡的 EMR 部署模型即可:
- EMR Serverless:無需管理叢集即可執行應用程式,並根據您的工作負載自動擴展資源
- EMR on EC2:用於控制叢集組態,包括執行個體類型和自訂 AMI。
- EKS 上的 EMR:在共用 Amazon EKS 叢集上與其他基於 Kubernetes 的應用程式整合分析。
2.開發資料處理應用程式
Amazon EMR 支援各種架構和語言,讓您可以建置所有內容,從標準 ETL 管道到大規模生成式 AI 資料準備。
語言:使用 Python (PySpark) 進行資料科學和機器學習,使用 SQL (透過 Hive 或 Trino) 進行分析查詢,或將 Java 和 Scala 用於高效能 Spark 應用程式。
框架:使用 Apache Spark 來建置和執行用於大規模資料處理的應用程式,使用 Apache Flink 進行即時串流,Trino 用於跨多個資料來源的快速 SQL,Apache Hudi 或 Iceberg 用於管理交易資料湖。
3.準備和擷取資料
若要開始處理,Amazon EMR 必須能夠存取您的資料。雖然 Amazon S3 是 EMR 應用程式的標準儲存層,但您可以使用多種高速方法,從本機環境或其他 AWS 服務中移動資料。
- 直接上傳:若要立即處理,請使用 AWS 管理主控台、CLI 或 SDK,將物件直接上傳到 Amazon S3。
- 高速連線:使用 AWS Direct Connect 繞過公用網際網路,並建立從資料中心到 AWS 的私有專用網路連線。這可為大規模傳輸提供一致的頻寬並降低延遲。
- 即時串流:使用 Amazon Data Firehose 或 Amazon Managed Streaming for Apache Kafka (MSK),將產生的資料直接送入您的 EMR 應用程式,實現近乎即時的分析。
- 零 ETL 整合:使用零 ETL 功能分析來自 Amazon Aurora 或 Amazon Redshift 的資料,讓 EMR 無需手動建構管道即可存取作業資料。
- 混合存取:如果您的資料位於本機 Hadoop HDFS 環境中,可以使用 S3 Connector 將資料直接讀取到 EMR 中,或同步特定資料集以進行雲端處理。
4.啟動和監控
無論您是執行一次性工作還是連續生產管道,Amazon EMR 都能提供簡化的部署體驗。
- 透過 EMR Studio 啟動:開啟 EMR Studio 筆記型電腦並將其連接至無伺服器應用程式或現有 EC2 叢集。只需按一下,就可以在完全受管理的環境中執行 Spark 或 Hive 程式碼。
- Serverless:如果使用 EMR Serverless,請透過主控台、CLI 或 API 提交您的工作。EMR 會自動佈建所需的精確運算和記憶體,進行擴展以處理峰值,並在完成後降至零。
- 透過 SageMaker Unified Studio 啟動:在 SageMaker Unified Studio 中,您可以開啟無伺服器筆記本,並立即將其連接到 EMR Serverless 應用程式或 EMR on EC2 叢集。
5.監控並最佳化執行
EMR 透過內建工具讓您掌握資料管道的可視性,協助您找出瓶頸並自動最佳化成本。
透過 EMR 管理主控台、AWS CLI 或 SDK 來監控工作進度和叢集運作狀態。EMR 提供與 Amazon CloudWatch 的原生整合,以獲取實時指標、日誌和自動警示。
直接從主控台存取即時和持續性 Spark UI 或 Tez UI (即時對執行中的工作除錯,甚至在無伺服器作業結束後也能進行) 以檢閱執行計劃和 DAG (定向非循環圖表)。
準備好啟動第一個叢集嗎?
進一步了解
培訓和協助
-
您需要建構概念驗證或調校 EMR 應用程式這方面的協助嗎? AWS 有專門的 EMR 全球支援團隊。如果您想要深入了解短期 (2-6 週) 付費支援服務,請聯絡我們。
Scale Unlimited 為需要快速學習如何使用 EMR 和其他大數據技術的公司提供自訂現場培訓。如需進一步了解,請按一下這裡。