[SEO 子標題]
本指引示範如何設定可方便資料工程師和資料科學家啟動和存取的自助式資料分析環境。整合式開發環境 (IDE) 基於 Jupyter 筆記本並包括所有必要的工具,前者提供了一個互動式介面,以便於資料探索,後者則可偵錯、建置和排程近乎即時的資料管道。該環境藉助工作負載隔離支援安全團隊協作,並允許管理員從單一介面自行佈建、擴展和取消佈建資源,而不會暴露底層基礎設施的複雜性或影響安全性、治理和成本。管理員可獨立管理叢集組態,並持續最佳化成本、安全性、可靠性和效能。
請注意:[免責聲明]
架構圖
[架構圖說明]
步驟 1
雲端維運團隊會根據所需規格 (例如執行個體類型和網路組態) 在 AWS CloudFormation 中開發 Amazon EMR 叢集範本,並將範本作為產品發佈在 AWS Service Catalog 中,以便進行自助式佈建。
步驟 2
網路廣告上的出價事件或像素可擷取使用者的曝光次數,並將資料傳送至 Amazon Kinesis Data Streams 端點。
步驟 3
資料工程團隊登入 Amazon EMR Studio 的工作區。在這裡,他們可自行佈建 Amazon EMR 叢集。或者,他們可以使用互動式筆記本連接現有叢集來開發 Spark streaming 應用程式,例如出價驗證或曝光測量。
步驟 4
Spark Streaming 應用程式會在 Amazon EMR 叢集上執行。其會持續從 Kinesis Data Streams 中擷取原始出價或曝光事件資料。應用程式可轉換資料。然後,其會將已轉換資料儲存在 Amazon Simple Storage Service (Amazon S3) 資料湖中。
此程序可實現近乎即時的營運報告。您可以選擇佈建的 Amazon EMR 叢集以實現最大的成本最佳化靈活性,也可以選擇無伺服器 Amazon EMR 叢集以簡化部署和叢集管理。
步驟 5
Amazon S3 將資料儲存在分割的資料夾中。資料可以壓縮為單欄格式或其他開放資料表格式,例如 Apache Iceberg。
步驟 6
所有資料庫和資料表中繼資料都會在 AWS Glue Data Catalog 中註冊,因此可以透過多個 AWS 服務查詢資料,例如 Amazon Athena 或 Amazon SageMaker。
步驟 7
(選用) 資料湖管理員可以透過 AWS Lake Formation 註冊資料型錄,以提供更精細的存取控制並集中化使用者管理。
步驟 8
使用者可以使用 Athena 幾乎即時地針對 Amazon S3 中的精選點擊流或曝光資料執行 SQL 查詢,並使用 Amazon QuickSight 視覺化儀表板。
步驟 9
除了 Amazon S3 資料湖外,Amazon EMR 工作負載還可以將資料寫入 NoSQL 資料庫 (例如 Amazon DynamoDB) 或記憶體資料庫 (例如 Aerospike)。這可支援需要大規模快速效能的讀取工作負載,例如出價篩選或營運報告。
開始使用
Well-Architected 支柱
AWS Well-Architected Framework 可協助您了解在雲端建立系統時所做決策的利弊。該架構的六根支柱讓您能夠學習設計和操作可靠、安全、高效、經濟高效且永續的系統的架構最佳實務。使用 AWS Well-Architected Tool (在 AWS 管理主控台中免費提供),您可以透過回答每根支柱的一組問題來針對這些最佳實務審查您的工作負載。
上方的架構圖是一個考量到 Well-Architected 最佳實務而建立的的解決方案的範例。若要完全實現 Well-Architected,您應該盡可能地多遵循 Well-Architected 的最佳實務。
-
卓越營運
Amazon EMR Studio 提供具有 Jupyter 筆記本的全受管 Web 整合式開發環境 (IDE),讓資料工程或資料科學團隊能夠以互動方式開發、視覺化和偵錯 Spark Streaming 應用程式,而無須管理其他伺服器。團隊可以自行佈建 Amazon EMR 叢集,而這些叢集已在服務型錄中使用基礎設施即程式碼 (IaC) 範本進行預先定義。這可降低對雲端維運團隊的相依性,提高開發敏捷性,並幫助組織以最小的開銷遵循安全性和治理最佳實務。
-
安全性
Amazon EMR Studio 支援使用 AWS Identity and Access Management (IAM) 或 AWS Identity Center 進行驗證和授權,而無需使用 SSH (Secure Shell) 直接連接 Spark 叢集。Lake Formation 允許對資料湖中的資料進行精細的集中化存取控制,集中化使用者存取管理,並增強資料管道上的穩健安全性和治理狀態。
-
可靠性
Kinesis Data Streams 和 Amazon EMR 提供自動擴展功能,以滿足即時資料串流工作流程的輸送量需求。Amazon EMR 使用 Apache Spark 架構,而該架構可在發生應用程式或網路故障時自動分配和重試任務。Kinesis Data Streams 還可自動擴展容量,並在三個可用區域同步複製資料,以提供高可用性和資料耐久性。
-
效能達成效率
Kinesis Data Streams 會根據不同的資料流量自動擴展容量,讓您的即時處理工作流程能夠滿足輸送量需求。Amazon EMR 為 Spark 提供多種效能最佳化功能,讓使用者能夠將執行速度提升 3.5 倍,而無需對應用程式進行任何變更。此外,Athena 會自動平行處理查詢,並佈建必要資源。此外,資料也可以 Amazon S3 分區索引鍵和單欄格式進行儲存,以提升查詢效能。
-
成本最佳化
本指引提供了範例 Amazon EMR 叢集範本,該範本使用具有 Amazon EC2 Spot 執行個體容量的執行個體機群,並指定 Amazon EC2 Graviton3 執行個體類型。相較於 x86 型 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,這可以節省高達 20% 的成本。此外,使用閒置逾時和 Amazon S3 儲存方案可以更好地利用運算和儲存資源,並最佳化成本。
-
永續發展
相較於 Amazon EC2 執行個體,要實現相同的效能,Amazon EC2 Graviton3 執行個體類型使用的能源最多可減少 60%,進而有助於減少碳足跡。使用 Amazon EC2 Spot 執行個體和 Amazon EMR 閒置逾時設定有助於確保更好地利用資源,並將工作負載對環境的影響降至最低。
相關內容
免責聲明
範例程式碼、軟體庫、命令列工具、概念驗證、範本或其他相關技術 (包括我們的人員提供的任何上述技術) 依據 AWS 客戶協議或您與 AWS 之間的相關書面協議 (以適用者為準) 作為 AWS 內容提供給您。您不得在您的生產帳戶、生產或其他關鍵資料中使用此 AWS 內容。您有責任根據您的特定品質控制實務和標準,依生產級用途來測試、保護和最佳化 AWS 內容 (如範例程式碼)。部署 AWS 內容可能會因建立或使用 AWS 收費資源 (如執行 Amazon EC2 執行個體或使用 Amazon S3 儲存) 而產生 AWS 費用。
本指引中對第三方服務或組織的參考並不意味著 Amazon 或 AWS 與第三方之間的認可、贊助或聯繫。AWS 的指引是技術起點,您可以在部署架構時自訂與第三方服務的整合。