資料工程 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料工程

自動化和協調整個組織的資料流程。

使用中繼資料自動化處理原始資料的管道,並產生最佳化輸出。利用 AWS CAF 平台架構和平台工程功能以及營運觀點中定義的現有架構護欄和安全控制。與平台工程支援團隊合作,為簡化管道部署的常見模式開發可重複使用的藍圖。 

Start

部署資料湖

為結構化和非結構化資料使用適當的儲存解決方案,以建立基礎資料儲存功能。這可讓您從各種來源收集和存放資料,並使資料可供存取以供進一步處理和分析。資料儲存是資料工程策略的關鍵元件。設計良好的資料儲存架構可讓組織以有效且符合成本效益的方式存放、管理和存取其資料。 AWS 提供各種資料儲存服務,以滿足特定的業務需求。

例如,您可以將 Amazon Simple Storage Service (Amazon S3) 用於物件儲存、Amazon Relational Database Service (Amazon RDS) 用於關聯式資料庫,以及 Amazon Redshift 用於資料倉儲,藉此建立基礎資料儲存功能。這些服務可協助您以安全且符合成本效益的方式存放資料,並讓資料易於存取,以便進一步處理和分析。我們建議您也實作資料儲存最佳實務,例如資料分割和壓縮,以改善效能並降低成本。

開發資料擷取模式

若要自動化和協調資料流程,請建立資料擷取程序,以從各種來源收集資料,包括資料庫、檔案和 APIs。您的資料擷取程序應支援業務敏捷性,並將控管控制納入考量。

協調程式應能夠執行雲端型服務,並提供自動化排程機制。它應該提供任務之間的條件式連結和相依性選項,以及輪詢和錯誤處理功能。此外,它應該與警示和監控系統無縫整合,以確保管道順利執行。

一些熱門的協調機制包括:

  • 時間為基礎的協調會在遞迴間隔和定義的頻率啟動工作流程。

  • 事件型協調會根據事件的發生啟動工作流程,例如建立檔案或 API 請求。

  • 輪詢會實作一種機制,其中任務或工作流程會呼叫 服務 (例如,透過 API),並等待定義的回應,然後再繼續進行下一個步驟。

現代架構設計強調利用可簡化雲端基礎設施管理的受管服務,並減少開發人員和基礎設施團隊的負擔。此方法也適用於資料工程。我們建議您在適用的情況下使用 受管服務來建置資料擷取管道,以加速資料工程程序。這些服務類型的兩個範例是 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) 和 AWS Step Functions:

  • Apache Airflow 是一項熱門的協調工具,以程式設計方式編寫、排程和監控工作流程。 AWS 提供 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) 做為受管服務,可讓開發人員專注於建置,而不是管理協調工具的基礎設施。Amazon MWAA 可讓您使用 Python 指令碼輕鬆撰寫工作流程。導向非循環圖 (DAG) 代表工作流程,其為任務的集合,顯示每個任務的關係和相依性。您可以擁有任意數量DAGs,Apache Airflow 會根據每個任務的關係和相依性執行這些 DAG。

  • AWS Step Functions 協助開發人員建置低程式碼視覺化工作流程,以自動化 IT 和業務流程。您使用 Step Functions 建置的工作流程稱為狀態機器,而工作流程的每個步驟都稱為狀態。您可以使用 Step Functions 建立工作流程,以進行內建錯誤處理、參數傳遞、建議的安全設定和狀態管理。這些會減少您必須寫入和維護的程式碼數量。任務會透過與另一個 AWS 服務或您在內部部署或雲端環境中託管的應用程式進行協調來執行工作。

加速資料處理

資料處理是了解現代組織所收集的大量資料的重要步驟。若要開始使用資料處理, AWS 提供 等受管服務AWS Glue,可提供強大的擷取、轉換和載入 (ETL) 功能。組織可以使用這些服務開始處理和轉換原始資料,包括清理、標準化和彙總資料,以準備進行分析。

資料處理從簡單的技術開始,例如彙總和篩選,以執行初始資料轉換。隨著資料處理需求不斷演進,您可以實作更進階的 ETL 程序,讓您從各種來源擷取資料、轉換資料以符合您的特定需求,並將其載入集中式資料倉儲或資料庫以進行統一分析。此方法可確保資料準確、完整,並可及時進行分析。

透過使用 AWS 受管服務進行資料處理,組織可以受益於更高層級的自動化、可擴展性和成本效益。這些服務可自動化許多例行資料處理任務,例如結構描述探索、資料分析和資料轉換,並為更具策略性的活動釋放寶貴的資源。此外,這些服務會自動擴展以支援不斷增長的資料磁碟區。

提供資料視覺化服務

尋找方法,讓使用資料視覺化以有意義的快速方式解譯資料的決策者可以使用資料。透過視覺化,您可以解譯模式,並提高各種利益相關者的參與度,無論他們的技術技能如何。良好的平台可讓資料工程團隊佈建資源,以快速提供資料視覺化,且幾乎無需額外負荷。您也可以使用工具輕鬆查詢資料存放區,而不需要工程專業知識,來提供自助服務功能。請考慮使用內建工具,透過資料視覺效果和互動式儀表板提供無伺服器商業智慧,以及使用自然語言查詢後端資料。 

進階

實作近乎即時的資料處理

資料處理是任何資料工程管道的重要元件,可讓組織將原始資料轉換為有意義的洞見。除了傳統的批次處理之外,即時資料處理在現今快節奏的商業環境中變得越來越重要。即時資料處理可讓組織在事件發生時回應事件,並改善決策和營運效率。

驗證資料品質

資料品質會直接影響衍生自資料的洞見和決策的準確性和可靠性。實作資料驗證和清除程序對於確保您使用高品質且值得信賴的資料進行分析至關重要。

資料驗證涉及透過比對預先定義的規則和條件來驗證資料的準確性、完整性和一致性。這有助於識別資料中的任何差異或錯誤,並確保其符合用途。資料清理涉及識別和更正資料中的任何不正確、不一致或重複。

透過實作資料品質程序和工具,組織可以提高從資料衍生之洞見的準確性和可靠性,進而獲得更好的決策和營運效率。這不僅增強了組織的效能,還提高利益相關者對產生的資料和分析的信心和信任。

證明資料轉換服務

資料轉換為進階分析和機器學習模型準備資料。它涉及使用資料正規化、擴充和重複資料刪除等技術,以確保資料乾淨、一致且準備好進行分析。

  • 資料標準化涉及將資料組織成標準格式、消除冗餘,以及確保資料在不同來源之間保持一致。這可讓您更輕鬆地分析和比較來自多個來源的資料,並讓組織更全面地了解其操作。

  • 資料擴充涉及使用來自外部來源的其他資訊增強現有資料,例如人口統計資料或市場趨勢。這可提供客戶行為或產業趨勢的寶貴洞見,而這些趨勢可能不單從內部資料來源看出。

  • 重複資料刪除涉及識別和移除重複的資料項目,並確保資料準確且無錯誤。這在處理大型資料集時特別重要,即使只有一小部分重複資料可能會扭曲分析結果。

透過使用進階資料轉換技術,組織可以確保其資料具有高品質、準確且已準備好進行更複雜的分析。這可帶來更好的決策、提高營運效率,以及市場中的競爭優勢。

啟用資料民主化

透過讓資料可供所有員工存取、理解和使用,來促進資料民主化文化。資料民主化有助於員工做出資料驅動的決策,並有助於組織的資料驅動文化。這意味著打破孤島並建立文化,讓所有員工共享和使用資料來推動決策。

整體而言,資料民主化是關於建立一種文化,讓組織中的每個人都能重視、存取和理解資料。透過啟用資料民主化,組織可培養以資料為導向的文化,以推動創新、改善決策,最終帶來業務成功。

Excel

提供以 UI 為基礎的協調

若要建置敏捷且使用有效方法的組織,請務必規劃現代協調平台,供跨業務單位的開發和操作資源使用。目標是開發、部署和共用資料管道和工作流程,而不依賴單一團隊、技術或支援模型。這可透過 UI 型協調等功能達成。drag-and-drop互動等功能,可讓技術專業知識很少的使用者建構 DAGs 和狀態機器資料流程。然後,這些元件可以產生可協調資料管道的可執行程式碼。 

DataOps 有助於克服資料管理的複雜性,並確保跨組織的無縫資料流程。中繼資料驅動的方法可確保資料品質和合規,並符合組織的命令。投資微服務、容器化和無伺服器函數等工具集可改善可擴展性和敏捷性。

仰賴資料工程團隊從資料中產生價值,並將day-to-day基礎設施任務留在自動化中,可讓組織在自動化和協調方面達到卓越。資料流程管理任務近乎即時的監控和記錄支援立即的修補動作,並改善資料流程管道的效能和安全性。這些原則有助於實現可擴展性和效能,同時確保安全的資料共用模型,並為組織在未來的成功做好準備。

整合 DataOps

DataOps 是一種現代的資料工程方法,強調開發和操作程序的整合,以簡化資料管道的建立、測試和部署。為了實作 DataOps 最佳實務,組織會使用基礎設施做為程式碼 (IaC) 和持續整合和持續交付 (CI/CD) 工具。這些工具支援自動化管道建立、測試和部署,可大幅提升效率並減少錯誤。DataOps 團隊會與平台工程支援團隊合作來建置這些自動化,因此每個團隊都可以專注於他們最擅長的領域。 

實作 DataOps 方法有助於促進資料工程師、資料科學家和商業使用者的協作環境,並快速開發、部署和監控資料管道和分析解決方案。這種方法提供跨團隊更無縫的溝通和協作,進而加快創新速度並帶來更好的成果。

若要充分利用 DataOps 的優勢,請務必簡化資料工程程序。這可透過使用平台工程團隊的最佳實務來實現,包括程式碼檢閱、持續整合和自動化測試。透過實作這些實務,組織可以確保資料管道可靠、可擴展且安全,並且同時符合商業和技術利益相關者的需求。