本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
實作階段
遵循大型 Bang 或階段式方法的遷移需要新的開發和測試。 AWS Schema Conversion Tool (AWS SCT) 可以自動從 SSIS 套件產生 AWS Glue 任務。這可大幅減少遷移時間和工作量。或者,您可以使用 AWS Glue Studio 進行以圖形介面為基礎的開發,或建置可在 AWS Glue 或 Amazon EMR 上執行的 Spark 程式庫。
下列各節提供使用 AWS SCT AWS Glue和 Amazon EMR 的實用指標。
AWS SCT
下列畫面圖解顯示 轉換 AWS Glue 的任務指令碼 AWS SCT。

AWS SCT 可以將 SSIS 套件大量轉換為 AWS Glue 任務。您可以編輯指令碼以更新現有的邏輯,或根據您的新設計新增新的邏輯。建議您遵循 AWS SCT 轉換指令碼中的命名慣例來自訂指令碼。
如需詳細資訊,請參閱 文件中的將 SSIS 轉換為 AWS Glue 使用 AWS SCT AWS SCT 。
AWS Glue
AWS Glue Studio 提供與 SSIS 類似的圖形界面和開發體驗,如下畫面所示。

如果您不想使用圖形界面,您也可以使用 AWS Glue 主控台中所需的 Python 程式庫來執行自訂指令碼。如需詳細資訊,請參閱 AWS Glue 文件中的提供您自己的自訂指令碼。
AWS Glue 提供一組用於處理資料的內建轉換。這些類似 SSIS 資料流程轉換。當您使用下列方式遷移 SSIS ETL 任務時,請遵循這些最佳實務 AWS Glue:
-
準備從 AWS Glue 轉換到同等 SSIS 轉換的映射。
-
如果您的轉換無法映射到 AWS Glue 轉換,請使用 Python 或 Scala 自訂指令碼來建置轉換。
-
對於自訂記錄 (例如資料列讀取、資料列寫入或記錄錯誤),除了 Amazon CloudWatch 之外,還請使用自訂指令碼。
-
新增開發端點以在本機開發和偵錯自訂指令碼。
Amazon EMR
您可以執行自訂指令碼 (以 Python 或 Scala 編寫) 或在 EMR 叢集中編譯的 Python 程式庫,與 一樣 AWS Glue。遵循下列最佳實務:
-
從使用 Spark 架構建立 EMR 叢集的記憶體最佳化執行個體類型開始。(SSIS 使用記憶體緩衝區。)
-
建置等同於每個 SSIS 任務或轉換的一般 Python 方法。例如,在下圖中,使用兩個資料影格做為輸入的方法會產生第三個資料影格,其具有來自兩個資料影格的相符記錄做為輸出。這可做為合併聯結
轉換。

測試
需要測試架構來驗證資料的完整性和正確性。此架構應涵蓋所有現有的案例,以及您遷移任務時所做的任何改進 AWS。
-
完整性驗證:
-
所有任務都會遷移至其目標狀態。
-
所有功能都會在每個任務中遷移。
-
所有類型的日誌都可使用,包括任務執行詳細資訊、錯誤訊息、錯誤記錄和資料列計數。
-
-
正確性驗證:
-
資料的品質在現有和新的環境中是一致的。
-
所有資料表的所有資料欄都相符,或資料表在 上有所改善 AWS。
-
所有稽核和記錄資訊都相符。
-
您也應該驗證遷移任務的效能是否符合現有任務的效能。