AWS Glue Studio で AWS Glue DataBrew レシピをインポートする - AWS Glue

AWS Glue Studio で AWS Glue DataBrew レシピをインポートする

AWS Glue DataBrew では、一連のデータ変換ステップをレシピといいます。AWS Glue DataBrew レシピには読み取り済みデータの変換方法は規定されていますが、データを読み取る場所と方法、およびデータを書き込む場所と方法は記載されていません。これは、AWS Glue Studio のソースノードとターゲットノードで設定します。レシピの詳細については、「Creating and using AWS Glue DataBrew recipes」を参照してください。

AWS Glue Studio で AWS Glue DataBrew レシピを使用するには、最初に AWS Glue DataBrew でレシピを作成します 使用するレシピがある場合は、このステップを省略できます。

AWS Glue DataBrew に対する IAM アクセス許可

このトピックでは、IAM 管理者がデータ準備レシピ変換の AWS Identity and Access Management (IAM) ポリシーで使用できるアクションとリソースを理解するための情報について説明します。

AWS Glue のセキュリティに関する追加情報については、「Access Management」を参照してください。

注記

次の表に、既存の AWS Glue DataBrew レシピをインポートするときにユーザーが必要とするアクセス許可を示します。

データ準備レシピ変換アクション
[アクション] 説明
databrew:ListRecipes AWS Glue DataBrew レシピを取得するアクセス許可を付与します。
databrew:ListRecipeVersions AWS Glue DataBrew レシピバージョンを取得するアクセス許可を付与します。
databrew:DescribeRecipe AWS Glue DataBrew レシピの説明を取得するアクセス許可を付与します。

この機能へのアクセスに使用するロールには、複数の AWS Glue DataBrew アクションを許可するポリシーが必要です。これを実現するには、必要なアクションを含む AWSGlueConsoleFullAccess ポリシーを使用するか、次のインラインポリシーをロールに追加します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "databrew:ListRecipes", "databrew:ListRecipeVersions", "databrew:DescribeRecipe" ], "Resource": [ "*" ] } ] }

データ準備レシピ変換を使用するには、アクセス許可ポリシーに IAM:PassRole アクションを追加する必要があります。

追加で必要な許可
[アクション] 説明
iam:PassRole 承認済みのロールをユーザーが渡すことを許可するアクセス許可を、IAM に付与します。

これらのアクセス許可がないと、次のエラーが発生します。

"errorCode": "AccessDenied" "errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole because no identity-based policy allows the iam:PassRole action"

AWS Glue DataBrew レシピのインポート

AWS Glue DataBrew レシピをインポートして AWS Glue Studio で使用するには:

既存のデータ準備レシピノードがあり、AWS Glue Studio でレシピステップを直接編集する場合は、レシピステップを AWS Glue Studio ジョブにインポートする必要があります。

  1. データソースを使用して、AWS Glue Studio で AWS Glue ジョブを開始します。

  2. [データ準備レシピ] ノードをジョブキャンバスに追加します。

    スクリーンショットは、選択可能なデータ準備レシピを含むノードモーダルの追加を示しています。
  3. [変換] パネルで、レシピの名前を入力します。

  4. ドロップダウンリストからキャンバスで使用可能なノードを選択して、1 つ以上の親ノードを選択します。

  5. [レシピの作成] を選択します。[作成者レシピ] が灰色の場合、ノードの親が選択され、データプレビューセッションが完了するまで使用できません。

    Author Data Preparation Recipe form with name field and node parents selection dropdown.
  6. データフレームはロードされ、ソースデータに関する詳細情報が表示されます。

    [その他のアクション] アイコンを選択し、[レシピのインポート] を選択します。

    Data preparation interface showing "Build your Recipe" with an "Add step" button.
  7. レシピのインポートウィザードを使用して、ステップを完了します。ステップ 1 で、レシピを検索して選択し、[次へ] を選択します。

    Import recipe interface showing two recipes, with one selected for import.
  8. ステップ 2 で、インポートオプションを選択します。新しいレシピを既存のレシピに追加するか、既存のレシピを上書きするかを選択できます。[Next] を選択します。

    Import recipe interface showing selected recipe, version, and two imported steps.
  9. ステップ 3 で、レシピステップを検証します。AWS Glue DataBrew レシピをインポートしたら、このレシピを AWS Glue Studio で直接編集できます。

    Recipe import interface showing two steps and a validation progress indicator.
    Import recipe interface showing validated steps for sorting and formatting data.
  10. その後、ステップは AWS Glue ジョブの一部としてインポートされます。必要に応じてジョブに名前を付けたり、割り当てられた容量を調整したりして、[ジョブの詳細] タブで必要な設定変更を行います。[保存] を選択して、ジョブとレシピを保存します。

    注記

    JOIN、UNION、GROUP_BY、PIVOT、UNPIVOT、TRANSPOSE はレシピのインポートではサポートされず、レシピ作成モードでも使用できません。

  11. 必要に応じて、その他の変換ノードを追加してジョブ作成を終了し、データターゲットノードを追加できます。

    レシピをインポートした後にステップの順序を変更すると、AWS Glue はそれらのステップの検証を実行します。例えば、列の名前を変更してから削除し、削除ステップを先頭に移動した場合、名前変更ステップは無効です。その後、ステップを編集して検証エラーを修正できます。