我有一个使用本地路径在本地运行的 python 脚本,但我需要复制此 python 脚本并将其作为 AWS 胶水服务作业运行并将输出保存在 s3 存储桶中。
请帮助我逐步说明。
将 Python 脚本作为 AWS Glue 作业运行的步骤如下:
步骤 1:修改的 Python 脚本以使其与 Glue 兼容
-
导入必要的库:
确保的脚本导入了必要的库,例如
boto3
(用于与 AWS 服务交互)和任何其他特定于 Glue 的库(例如awsglue
)。 -
处理命令行参数:
Glue 作业可以使用
getResolvedOptions
函数从命令行传递参数。使用此函数从 Glue 作业配置中检索任何必要的参数。 -
从 S3 加载数据(如果适用):
如果需要从 S3 加载数据,请使用
boto3
或awsglue
库指定 S3 存储桶和对象键。 -
将输出写入 S3:
修改的脚本以将输出写入指定的 S3 存储桶和对象键,而不是写入本地路径。再次使用
boto3
或awsglue
与 S3 交互。
步骤 2:将的 Python 脚本和任何依赖项打包
- 创建一个 .zip 文件: 创建一个包含的 Python 脚本和任何必要依赖项(库、配置文件等)的 .zip 文件。确保的脚本是 .zip 文件的顶级目录中。
- 将 .zip 文件上传到 S3 存储桶: 将 .zip 文件上传到选择的 S3 存储桶。这将使 Glue 作业可以访问的脚本和依赖项。
步骤 3:使用 AWS Glue 控制台创建 Glue 作业
- 登录 AWS 管理控制台并导航到 Glue 服务。
- 在左侧导航窗格中,单击“作业”,然后单击“创建作业”。
- 在“作业属性”页面上,提供以下信息:
- 作业名称: 为的作业指定一个名称。
- IAM 角色: 选择一个 IAM 角色,该角色具有运行的 Glue 作业的必要权限(例如,对 S3 的读/写访问权限)。如果还没有角色,可以创建一个新角色。
- 作业类型: 选择“Spark”。
- Glue 版本: 选择适合脚本的 Glue 版本(例如,Spark 2.4,Spark 3.1)。
- 此作业运行的 IAM 角色: 选择一个 IAM 角色或创建一个新角色。
- 在“脚本”部分,选择“来自 Amazon S3 的 Python shell 脚本”。
- 在“Python 脚本 s3 路径”中,指定在步骤 2 中上传的 .zip 文件的 S3 路径。
- 在“函数”部分,指定的 Python 脚本的名称(不带 .py 扩展名)。
- 在“作业参数”部分,可以指定要传递给的 Python 脚本的任何命令行参数(可选)。
- 配置任何其他必要的作业属性,例如计划、并发、监控和标签。
- 查看并创建作业。
步骤 4:运行并监控的 Glue 作业
- 创建作业后,可以从 Glue 控制台手动运行它或设置计划运行。
- 监控作业运行以确保其成功完成。
- 检查作业日志以获取有关作业执行的任何错误或警告的详细信息。
就是这样!通过执行这些步骤,可以将的 Python 脚本作为 AWS Glue 作业运行并将输出保存在 S3 存储桶中。
zh-TW: 將 Python 腳本作為 AWS Glue 作業執行的步驟如下:
步驟 1:修改的 Python 腳本以使其與 Glue 相容
-
匯入必要的程式庫:
確保的腳本匯入了必要的程式庫,例如
boto3
(用於與 AWS 服務互動)和任何其他特定於 Glue 的程式庫(例如awsglue
)。 -
處理命令列參數:
Glue 作業可以使用
getResolvedOptions
函式從命令列傳遞參數。使用此函式從 Glue 作業配置中擷取任何必要的參數。 -
從 S3 載入資料(如果適用):
如果需要從 S3 載入資料,請使用
boto3
或awsglue
程式庫指定 S3 儲存貯體和物件金鑰。 -
將輸出寫入 S3:
修改的腳本以將輸出寫入指定的 S3 儲存貯體和物件金鑰,而不是寫入本機路徑。再次使用
boto3
或awsglue
與 S3 互動。
步驟 2:將的 Python 腳本和任何相依性打包
- 建立一個 .zip 檔案: 建立一個包含的 Python 腳本和任何必要相依性(程式庫、設定檔等)的 .zip 檔案。確保的腳本是 .zip 檔案的頂級目錄中。
- 將 .zip 檔案上傳到 S3 儲存貯體: 將 .zip 檔案上傳到選擇的 S3 儲存貯體。這將使 Glue 作業可以存取的腳本和相依性。
步驟 3:使用 AWS Glue 主控台建立 Glue 作業
- 登入 AWS 管理主控台並瀏覽至 Glue 服務。
- 在左側導覽窗格中,按一下「作業」,然後按一下「建立作業」。
- 在「作業屬性」頁面上,提供以下資訊:
- 作業名稱: 為的作業指定一個名稱。
- IAM 角色: 選擇一個 IAM 角色,該角色具有執行的 Glue 作業的必要權限(例如,對 S3 的讀取/寫入存取權限)。如果還沒有角色,可以建立一個新角色。
- 作業類型: 選擇「Spark」。
- Glue 版本: 選擇適合腳本的 Glue 版本(例如,Spark 2.4,Spark 3.1)。
- 此作業執行的 IAM 角色: 選擇一個 IAM 角色或建立一個新角色。
- 在「腳本」部分,選擇「來自 Amazon S3 的 Python shell 腳本」。
- 在「Python 腳本 s3 路徑」中,指定在步驟 2 中上傳的 .zip 檔案的 S3 路徑。
- 在「函式」部分,指定的 Python 腳本的名稱(不帶 .py 副檔名)。
- 在「作業參數」部分,可以指定要傳遞給的 Python 腳本的任何命令列參數(選用)。
- 設定任何其他必要的作業屬性,例如排程、並行、監控和標籤。
- 檢閱並建立作業。
步驟 4:執行並監控的 Glue 作業
- 建立作業後,可以從 Glue 主控台手動執行它或設定排程執行。
- 監控作業執行以確保其成功完成。
- 檢查作業日誌以取得有關作業執行的任何錯誤或警告的詳細資訊。
就是這樣!透過執行這些步驟,可以將的 Python 腳本作為 AWS Glue 作業執行並將輸出儲存在 S3 儲存貯體中。
标签:python,amazon-web-services,aws-glue From: 78810063