データセットの結合 - AWS Glue

データセットの結合

結合 変換を使用すると、2 つのデータセットを 1 つに結合できます。比較する各データセットのスキーマのキー名を指定します。出力 DynamicFrame には、キーが結合条件を満たす行が含まれます。結合条件を満たす各データセットの行は、いずれかのデータセット内で見つかったすべての列を含む出力 DynamicFrame の単一の行に結合されます。

Join (結合) 変換ノードをジョブ図に追加するには
  1. 使用可能なデータソースが 1 つしかない場合は、新しいデータソースノードをジョブ図に追加する必要があります。

  2. 結合するソースノードを 1 つ選択します。リソースパネルを開いて、[Join] を選択し、ジョブ図に新しい変換を追加します。

  3. [Node properties] (ノードのプロパティ) タブで、ジョブ図のノードの名前を入力します。

  4. [Node properties] (ノードのプロパティ) タブの、見出し [Node parents] (ノードの親) の下で、結合の入力を提供するデータセットが 2 つ存在するように親ノードを追加します。親ノードは、データソースノードまたは変換ノードです。

    注記

    結合すると、親ノードを 2 つだけ持つことができます。

  5. [Transform] (変換) タブを選択します。

    競合するキー名があることを示すメッセージが表示された場合は、次のいずれかの操作を行います。

    • [Resolve it] (解決する) を選択して、ApplyMapping 変換ノードをジョブ図に自動的に追加します。ApplyMapping ノードにより、他のデータセットのキーと同じ名前を持つデータセット内のキーにプレフィックスが追加されます。例えば、デフォルト値 right を使用している場合、左側のデータセットと同じキー名を持つ右側のデータセットのキー名は (right)key name に変更されます。

    • ジョブ図に変換ノードを早期に手動で追加して、競合するキーを削除するか、名前を変更できます。

  6. [Join type] (結合タイプ) のリストで、結合のタイプを選択します。

    • Inner join (内部結合): 結合条件に基づくすべての一致に対して、両方のデータセットの列を含む行を返します。結合条件を満たさない行は返されません。

    • Left join (左結合): 左側のデータセットのすべての行と、結合条件を満たす右側のデータセットの行の結合です。

    • Right join (右結合): 右側のデータセットのすべての行と、結合条件を満たす左側のデータセットの行の結合です。

    • Outer join (外部結合): 両方のデータセットのすべての行の結合です。

    • Left semi join (左半結合): 右側のデータセットで結合条件に基づく一致がある、左側のデータセットのすべての行の結合です。

    • Left anti join (左反結合): 右側のデータセットで結合条件に基づく一致がない、左側のデータセットのすべての行の結合です。

  7. [Transform] (変換) タブで、見出し [Join conditions] (結合条件) の下にある、[Add condition] (条件の追加)を選択します。比較する各データセットからプロパティキーを選択します。比較演算子の左側にあるプロパティキーを左側のデータセット、右側にあるプロパティキーを右側のデータセットと呼びます。

    より複雑な結合条件の場合、[Add condition] (条件の追加) を複数回クリックして、他の一致するキーを追加できます。誤って条件を追加した場合は、削除アイコン ( An outline of a trash can ) をクリックして削除できます。

  8. (オプション) 変換ノードのプロパティを設定した後、ノードの詳細パネルの [Output schema] (出力スキーマ) タブを選択して、データ用に変更されたスキーマを表示できます。ジョブ内の任意のノードに対してこのタブを初めて選択すると、データにアクセスする IAM ロールを指定するよう求められます。[Job details] (ジョブの詳細) タブで IAM ロールをまだ指定していない場合、ここで IAM ロールを入力するよう求められます。

  9. (オプション) ノードおよび変換のプロパティを設定した後、ノードの詳細パネルの [Data preview] (データのプレビュー) タブを選択して、変更されたデータセットをプレビューできます。ジョブ内の任意のノードに対してこのタブを初めて選択すると、データにアクセスする IAM ロールを指定するよう求められます。この機能を使用するには費用がかかり、IAM ロールを指定するとすぐに請求が開始します。

結合出力スキーマの例では、次のプロパティキーを持つ 2 つのデータセット間の結合を検討します。

Left: {id, dept, hire_date, salary, employment_status} Right: {id, first_name, last_name, hire_date, title}

結合は、= 比較演算子を使用して、id および hire_date キーで一致するように設定されます。

両方のデータセットに id および hire_date キーが含まれているため、[Resolve it] (解決する) を選択して、右側のデータセットのキーにプレフィックス right が自動で追加されるようにします。

出力スキーマのキーは次のようになります。

{id, dept, hire_date, salary, employment_status, (right)id, first_name, last_name, (right)hire_date, title}