Amazon EKS 上使用 Apache Spark 的 SQL 型 ETL

Amazon EKS 上使用 Apache Spark 的 SQL 型 ETL 提供宣告式資料處理支援、無程式碼擷取-轉換-載入 (ETL) 功能和工作流程協同運作自動化,以協助您的業務使用者 (例如分析師和資料科學家) 存取其資料並建立有意義的洞察,而無需手動 IT 流程。

優勢

在 Jupyter 中建置、測試和偵錯 ETL 任務

使用 JupyterHub,一個基於 Web 的互動式整合開發環境 (IDE) 來簡化您的 ETL 應用程式開發。

使用 SQL 優先的方法

使用 Spark SQL 在 ETL 管道開發中實作商業邏輯和資料品質檢查。

無需程式碼即可協調任務

使用 Argo 工作流程排定任務並管理複雜的任務相依項,而無需使用程式碼。

自動部署 Docker 影像

設定 AWS 持續改進和持續開發 (CI/CD) 管道,以將資料架構 Docker 影像安全地存放在 Amazon Elastic Container Registry (Amazon ECR) 中。

概觀

以下圖表展示了您可以使用 GitHub 上的範例程式碼建置的架構。

Amazon EKS 上使用 Apache Spark 的 SQL 型 ETL | 架構圖
 按一下以放大

Amazon EKS 上使用 Apache Spark 的 SQL 型 ETL 架構

Amazon EKS 上使用 Apache Spark 的 SQL 型 ETL 會部署安全、容錯、自動擴展環境,以支援您包含以下元件的 ETL 工作負載:

  1. 可自訂和靈活的工作流程管理層 (請參閱圖表中 Amazon Elastic Kubernetes Service (Amazon EKS) 群組上的協同運作) 包含 Argo Workflows 外掛程式。此外掛程式提供基於 Web 的工具來協調 ETL 任務,而無需編寫程式碼。您也可以選擇性地使用其他工作流程工具,例如 VolcanoApache Airflow
  2. 安全資料處理工作區設定為統一同一 Amazon EKS 叢集中的資料工作負載。此工作區包含基於 Web 的次要工具 JupyterHub,用於互動式任務建置和測試。您可以使用宣告式方法開發 Jupyter Notebook 來指定 ETL 任務,也可以使用 PySpark 以程式設計方式編寫 ETL 步驟。此工作區還提供由 Argo 工作流程工具管理的 Spark 任務自動化。
  3. 解決方案中部署了一組安全功能。Amazon Elastic Container Registry (Amazon ECR) 會維護和保護資料處理架構 Docker 影像的安全。Amazon EKS 上服務帳戶 (IRSA) 功能的 AWS Identity and Access Management (IAM) 角色提供字符授權以及對其他 AWS 服務的存取控制。例如,Amazon EKS 與 Amazon Athena 整合是無密碼的,以降低在連接字串中暴露 AWS 憑證的風險。Jupyter 將登入憑證從 AWS Secrets Manager 即時擷取到 Amazon EKS。Amazon CloudWatch 使用啟用的 CloudWatch Container Insights 功能監控 Amazon EKS 上的應用程式。
  4. Amazon EKS 叢集上的分析工作負載將資料結果輸出到 Amazon Simple Storage Service (Amazon S3) 資料湖。資料結構描述項目 (中繼資料) 是在 AWS Glue Data Catalog 中透過 Amazon Athena 建立。

Amazon EKS 上使用 Apache Spark 的 SQL 型 ETL

1.0.0 版
發行時間:2021 年 7 月
作者:AWS

其他資源

本指南對您有幫助嗎?
提供意見回饋 
建立圖示
自行部署解決方案

瀏覽我們的 AWS 解決方案實作庫,獲取常見架構問題的答案。

進一步了解 
尋找 APN 合作夥伴
尋找 APN 合作夥伴

尋找 AWS 認證的諮詢與技術合作夥伴協助您入門。

進一步了解 
探索圖示
探索解決方案諮詢產品

瀏覽我們的諮詢產品組合,獲取經過 AWS 審核的解決方案部署協助。

進一步了解