開始使用 AWS Glue 互動式工作階段 - Amazon SageMaker

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

開始使用 AWS Glue 互動式工作階段

在本指南中,您將學習如何在 SageMaker Studio 經典版中啟動 AWS Glue 互動式工作階段,以及使用 Jupyter 魔術管理您的環境。

SageMakerStudio 傳統版中 AWS Glue 互動式工作階段的權限

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

  • AwsGlueSessionUserRestrictedServiceRole受管理的原則附加至您的 SageMaker 執行角色。

  • 針對您的 SageMaker 執行角色建立內嵌自訂原則。

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

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

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

  3. 尋找您的工作室經典版執行角色。選擇角色名稱,存取角色摘要頁面。

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

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

  6. 選擇連接政策

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

若要在您的執行角色建立內嵌自訂政策
  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 傳統 UI 內建立的新 AWS Glue 互動式工作階段。從 SageMaker Studio Classic 建立 AWS Glue 互動式工作階段時,任何附加至使用者設定檔或共用空間的使用者定義標籤都會轉移到新的 AWS Glue 互動式工作階段。此外, SageMaker Studio 經典版會自動將兩個 AWS產生的內部標籤 ((sagemaker:user-profile-arnsagemaker:domain-arn) 或 (sagemaker:shared-space-arnsagemaker:domain-arn)) 新增至從 Studio 經典使用者介面建立的新 AWS Glue 互動式工作階段。您可以使用這些標籤來彙總個別網域、使用者設定檔或空間的成本。

啟用標籤傳播

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

注意

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

  • 在您的 SageMaker 執行角色上:建立新的內嵌政策,並貼上下列 JSON 檔案。此原則會授與執行角色權限,以描述 (DescribeUserProfileDescribeSpace、、DescribeDomain) 和列出在使用者設定檔、共用空間和 SageMaker網域上設定的標籤 (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 互動式工作階段。您可以在 SageMaker Studio 傳統版CloudWatch記錄中找到有關失敗原因的詳細資訊。

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

請務必遵循以下幾點:

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

    您可以直接透過 AWS Glue API 或 https://console.aws.amazon.com/sagemaker/ 從 AWS Glue 互動式工作階段中移除標籤。 AWS CLI例如,使用 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
  • SageMaker 工作室經典版會將兩個 AWS產生的內部標籤 ((sagemaker:user-profile-arnsagemaker:domain-arn) 或 (sagemaker:shared-space-arnsagemaker:domain-arn)) 新增至從工作室經典使用者介面建立的新 AWS Glue 互動式工作階段。這些標籤會計入所有 AWS 資源上設定的 50 個標籤上限。sagemaker:user-profile-arn並且sagemaker:shared-space-arn包含它們所屬的網域 ID。

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

其他資訊

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

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

  • 如需使用標籤追蹤成本的相關資訊,請參閱 SageMaker Studio 傳統管理最佳做法中的成本分析

  • 如需 AWS Glue 根據標籤金鑰控制存取權的資訊,請參閱 ABAC 使用 AWS Glue.

在工作 SageMaker室經典版啟 AWS Glue 動您的互動課程

建立角色、原則和 SageMaker 網域之後,您可以在 SageMaker Studio 傳統版中啟 AWS Glue 動互動式工作階段。

若要在經典 SageMaker 工作室 AWS Glue 中啟動
  1. 建立 SageMaker 網域。如需如何建立新網域的指示,請參閱Amazon SageMaker 域名概述

  2. 請在以下位置登入 SageMaker 主控台:https://console.aws.amazon.com/sagemaker/

  3. 選取左側面板中的控制面板

  4. 在使用者名稱旁的啟動應用程式下拉式功能表中,選取 Studio

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

  6. 在「影像」下拉式選單中,選取 SparkAnalytics 1.0SparkAnalytics2.0。在內核下拉菜單中,選擇 Glue 火花Glue Python [PySpark 和雷]。選擇選取

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

  8. 開始撰寫您的 Spark 資料處理指令碼。

在工作 SageMaker室經典版中設定您的 AWS Glue 互動式

注意

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

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

魔術命令 預設值
%glue_version

3.0

%iam_role

附加至您 SageMaker網域的執行角色

%region

您的區域

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

目前提供的所有 Jupyter 魔術也可在工作室 AWS Glue 經典版中 SageMaker找到。如需可用 AWS Glue 魔法的完整清單,請參閱設定 Jupyter 和 AWS Glue Studio 經典筆記本的 AWS Glue 互動式工作階段