本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
詳細資訊中的 Spark 升級代理程式工作流程
若要啟動升級程序,您需要將 Spark 應用程式程式碼複製到開發人員環境 (本機或 EC2 或 Amazon SageMaker Unified Studio IDE Spaces),最好初始化 Git 版本控制。此外,必須佈建並存取執行目標 Spark 版本的 EMR 叢集。最後,應設定指定的 Amazon S3 儲存貯體路徑,以在整個升級過程中存放部署成品和升級摘要。
建立這些要求後,您可以提交如下所示的提示來啟動升級工作流程:
Upgrade my Spark application <local-project-path> from EMR version 6.0.0 to 7.12.0. Use EMR-EC2 Cluster <cluster-id> to run the validation and s3 paths s3://<please fill in your staging bucket path> to store updated application artifacts.
此時,代理程式將使用專用工具協調升級 (如需詳細資訊)。工作流程遵循下列步驟:
-
產生計劃:代理程式會分析您的專案結構並產生升級計劃。檢閱計劃並提供您的同意以繼續。
-
計劃檢閱和自訂:當系統提示您檢閱計劃時,您有幾個選項:
-
繼續原狀:接受計劃並繼續執行
-
提供意見回饋:透過下列方式自訂計畫:
-
移除不必要的步驟 - 範例:移除任何整合測試執行。僅在本機編譯/建置,然後繼續執行 EMR 驗證。
-
新增其他步驟 - 範例:新增步驟以在 EMR 驗證
tests/test_jobs/test_etl_job_x.py之前執行測試檔案。 -
修改升級方法 - 範例:在建置和驗證步驟期間強制執行 Python 3.10 和 Java 17。
-
-
-
代理程式會根據您的意見回饋重新產生計劃,並再次請求同意。此程序會持續進行,直到您核准最終計劃為止
-
編譯和建置:代理程式會進行反覆變更,以修正建置錯誤,直到應用程式成功編譯和建置為止。
-
執行單位和整合測試:如果專案有測試,代理程式會在成功建置後執行測試。如果任何測試失敗,代理程式會反覆修改原始程式碼,直到測試通過,再繼續進行 EMR 驗證。
-
執行時間修正和驗證:代理程式將驗證目標 EMR 叢集上的應用程式,並反覆修正任何執行時間錯誤,直到驗證成功為止。完成後,您會看到針對相容性所做的所有變更摘要。
-
升級摘要:升級完成後,代理程式將提供所有程式碼和組態變更的摘要、相依版本更新,以及任何偵測到的資料品質不相符,供您檢閱。