AWS Glue 互動式工作階段入門 - Amazon SageMaker AI

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

AWS Glue 互動式工作階段入門

在本指南中,您將了解如何在 SageMaker AI Studio Classic 中啟動 AWS Glue 互動式工作階段,並使用 Jupyter 魔術管理您的環境。

Studio 或 Studio Classic 中 AWS Glue 互動式工作階段的許可

本節列出在 Studio 或 Studio Classic 中執行 AWS Glue 互動式工作階段所需的政策,並說明如何設定這些工作階段。它特別詳細說明如何:

  • AwsGlueSessionUserRestrictedServiceRole受管政策連接至 SageMaker AI 執行角色。

  • 在 SageMaker AI 執行角色上建立內嵌自訂政策。

  • 修改 SageMaker AI 執行角色的信任關係。

AwsGlueSessionUserRestrictedServiceRole 管理的政策連接至執行角色
  1. 開啟 IAM 主控台

  2. 在左側面板中選取角色

  3. 尋找您的使用者設定檔所使用的 Studio Classic 執行角色。如需有關如何檢視使用者設定檔的資訊,請參閱 檢視網域中的使用者設定檔

  4. 選擇您的角色名稱以存取角色摘要頁面。

  5. 許可索引標籤下,從新增權限下拉式功能表選取連接政策

  6. 選取 AwsGlueSessionUserRestrictedServiceRole 管理政策旁的核取方塊。

  7. 選擇連接政策

    摘要頁面會顯示您新增的管理策略。

若要在您的執行角色建立內嵌自訂政策
  1. 新增許可下拉式功能表中選取建立內嵌政策

  2. 選取 JSON 標籤。

  3. 在下列政策複製並貼上。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "unique_statement_id", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "sts:GetCallerIdentity" ], "Resource": "*" } ] }
  4. 選擇檢閱政策

  5. 輸入名稱,然後選擇建立政策

    總結頁面會顯示您新增的自訂政策。

修改執行角色的信任關係
  1. 選取信任關係標籤。

  2. 選擇編輯信任政策

  3. 在下列政策複製並貼上。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  4. 選擇更新政策

如果您需要存取其他 AWS 資源,可以新增其他角色和政策。如需您可以包含的其他角色和政策的說明,請參閱 AWS Glue 文件中的使用 IAM 進行互動式工作階段

標籤傳播

標籤通常用於追蹤和分配成本、控制對工作階段的存取權,以及隔離資源等。若要了解如何使用標記將中繼資料新增至 AWS 資源,或有關常見使用案例的詳細資訊,請參閱其他資訊

您可以啟用 AWS 標籤自動傳播到從 Studio 或 Studio Classic UI 內建立的新 AWS Glue 互動式工作階段。從 Studio 或 Studio Classic 建立互動式工作階段時 AWS Glue ,連接到使用者設定檔或共用空間的任何使用者定義標籤都會轉移到新的 AWS Glue 互動式工作階段。此外,Studio 和 Studio Classic 會自動將兩個 AWS產生的內部標籤 ((sagemaker:user-profile-arnsagemaker:domain-arn) 或 (sagemaker:shared-space-arnsagemaker:domain-arn)) 新增至從其 UI 建立的新 AWS Glue 互動式工作階段。您可以使用這些標籤來彙總個別網域、使用者設定檔或空格的成本。

啟用標籤傳播

若要啟用標籤自動傳播到新的 AWS Glue 互動式工作階段,請為您的 SageMaker AI 執行角色和與 AWS Glue 工作階段相關聯的 IAM 角色設定下列許可:

注意

根據預設,與 AWS Glue 互動式工作階段相關聯的角色與 SageMaker AI 執行角色相同。您可以使用 %iam_role 魔術命令,為 AWS Glue 互動式工作階段指定不同的執行角色。如需有關可用於設定 AWS Glue 互動式工作階段的 Jupyter 魔術命令相關資訊,請參閱在 Studio 或 Studio Classic 中設定 AWS Glue 互動式工作階段

  • 在您的 SageMaker AI 執行角色上:建立新的內嵌政策,並貼上下列 JSON 檔案。政策授予執行角色許可,以描述 (DescribeUserProfileDescribeSpaceDescribeDomain) 並列出在使用者設定檔、共用空間和 SageMaker AI 網域上設定的標籤 (ListTag)。

    { "Effect": "Allow", "Action": [ "sagemaker:ListTags" ], "Resource": [ "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:DescribeUserProfile" ], "Resource": [ "arn:aws:sagemaker:*:*:user-profile/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:DescribeSpace" ], "Resource": [ "arn:aws:sagemaker:*:*:space/*" ] } { "Effect": "Allow", "Action": [ "sagemaker:DescribeDomain" ], "Resource": [ "arn:aws:sagemaker:*:*:domain/*" ] }
  • 在 AWS Glue 工作階段的 IAM 角色:建立新的內嵌政策,然後貼上下列 JSON 檔案。該政策授予您的角色許可,可以將標籤 (TagResource) 連接到工作階段,或是擷取其標籤清單 (GetTags)。

    { "Effect": "Allow", "Action": [ "glue:TagResource", "glue:GetTags" ], "Resource": [ "arn:aws:glue:*:*:session/*" ] }
注意
  • 套用這些許可時發生的失敗不會阻止建立 AWS Glue 互動式工作階段。您可以在 Studio 或 Studio Classic CloudWatch 日誌中找到失敗原因的詳細資訊。

  • 您必須重新啟動 AWS Glue 互動式工作階段的核心,才能傳播標籤值的更新。

請務必遵循以下幾點:

  • 標籤連接至工作階段後,就無法透過傳播的方式移除。

    您可以透過 AWS CLI、 AWS Glue API 或 https://https://console.aws.amazon.com/sagemaker/ 從 AWS Glue 互動式工作階段移除標籤。例如,您可以使用 AWS CLI,提供工作階段的 ARN 和您要移除的標籤索引鍵來移除標籤,如下所示:

    aws glue untag-resource \ --resource-arn arn:aws:glue:region:account-id:session:session-name \ --tags-to-remove tag-key1,tag-key2
  • Studio 和 Studio Classic 會將兩個 AWS產生的內部標籤 (( sagemaker:user-profile-arnsagemaker:domain-arn) 或 (sagemaker:shared-space-arnsagemaker:domain-arn)) 新增至從其 UI 建立的新 AWS Glue 互動式工作階段。這些標籤會計入所有 AWS 資源上設定的 50 個標籤限制。sagemaker:user-profile-arn 和 都sagemaker:shared-space-arn包含其所屬的網域 ID。

  • aws:AWS:或任何大小寫字母組合做為索引鍵字首的標籤索引鍵不會傳播,並保留供 AWS 使用。

其他資訊

您可以參閱下列資源,取得更多資訊。

  • 若要了解如何使用標記將中繼資料新增至 AWS 資源,請參閱標記 AWS 資源

  • 如需使用標籤追蹤成本的資訊,請參閱 Studio 管理最佳實務中的成本分析

  • 如需 AWS Glue 根據標籤金鑰控制對 的存取的資訊,請參閱 ABAC with AWS Glue

在 Studio 或 Studio Classic 上啟動 AWS Glue 互動式工作階段

建立角色、政策和 SageMaker AI 網域之後,您可以在 Studio 或 Studio Classic 中啟動 AWS Glue 互動式工作階段。

  1. 登入 SageMaker AI 主控台,網址為 https://https://console.aws.amazon.com/sagemaker/

  2. 從左側導覽窗格中,選擇 Studio

  3. 從 Studio 登陸頁面中,選取網域和使用者設定檔以啟動 Studio。

  4. 選擇開啟 Studio 並啟動 JupyterLab 或 Studio Classic 應用程式。

  5. 在 Jupyter 檢視中,選擇檔案,然後依序選擇新增筆記本

  6. 對於 Studio Classic 使用者:在映像下拉式功能表中,選取 SparkAnalytics 1.0SparkAnalytics 2.0。核心下拉式功能表中,選取 Glue SparkGlue Python [PySpark 與 Ray]。選擇選取

    對於 Studio 使用者,選取 Glue SparkGlue Python 【PySpark 和 Ray】 核心

  7. (選用) 使用 Jupyter 魔術命令自訂您的環境。如需 Jupyter 魔術命令的更多相關資訊,請參閱 在 Studio 或 Studio Classic 中設定 AWS Glue 互動式工作階段

  8. 開始撰寫您的 Spark 資料處理指令碼。以下筆記本使用 AWS Glue 互動式工作階段、探索式資料分析、資料預先處理,以及最後使用 SageMaker AI 針對處理的資料訓練模型,展示大型資料集上 ETL 的end-to-end工作流程。

在 Studio 或 Studio Classic 中設定 AWS Glue 互動式工作階段

注意

所有魔術組態都會在 AWS Glue 核心生命週期內轉移到後續工作階段。

您可以在 AWS Glue 互動式工作階段中使用 Jupyter 魔術來修改工作階段和組態參數。魔術命令是 Jupyter 儲存格開頭字首為 % 的簡短命令,它提供了快速簡便的方法幫助您控制環境。在 AWS Glue 互動式工作階段中,預設會為您設定下列魔術:

魔術命令 預設值
%glue_version

3.0

%iam_role

連接到 SageMaker AI 網域的執行角色

%region

您的區域

您可以使用魔術命令進一步自訂環境。例如,如果您要將分配至任務的工作者數量從預設值 5 變更為 10,您可以指定 %number_of_workers 10。如果您要將工作階段設定為在閒置時間 10 分鐘後停止,而不是預設的 2880,您可以指定 %idle_timeout 10

目前在 中可用的所有 Jupyter 魔術 AWS Glue 也可以在 Studio 或 Studio Classic 中使用。如需可用 AWS Glue 魔術的完整清單,請參閱設定 AWS Glue Jupyter 和 AWS Glue Studio 筆記本的互動式工作階段