データセットの結合
結合 変換を使用すると、2 つのデータセットを 1 つに結合できます。比較する各データセットのスキーマのキー名を指定します。出力 DynamicFrame
には、キーが結合条件を満たす行が含まれます。結合条件を満たす各データセットの行は、いずれかのデータセット内で見つかったすべての列を含む出力 DynamicFrame
の単一の行に結合されます。
Join (結合) 変換ノードをジョブ図に追加するには
-
使用可能なデータソースが 1 つしかない場合は、新しいデータソースノードをジョブ図に追加する必要があります。
-
結合するソースノードを 1 つ選択します。リソースパネルを開いて、[Join] を選択し、ジョブ図に新しい変換を追加します。
-
[Node properties] (ノードのプロパティ) タブで、ジョブ図のノードの名前を入力します。
-
[Node properties] (ノードのプロパティ) タブの、見出し [Node parents] (ノードの親) の下で、結合の入力を提供するデータセットが 2 つ存在するように親ノードを追加します。親ノードは、データソースノードまたは変換ノードです。
注記
結合すると、親ノードを 2 つだけ持つことができます。
-
[Transform] (変換) タブを選択します。
競合するキー名があることを示すメッセージが表示された場合は、次のいずれかの操作を行います。
-
[Resolve it] (解決する) を選択して、ApplyMapping 変換ノードをジョブ図に自動的に追加します。ApplyMapping ノードにより、他のデータセットのキーと同じ名前を持つデータセット内のキーにプレフィックスが追加されます。例えば、デフォルト値
right
を使用している場合、左側のデータセットと同じキー名を持つ右側のデータセットのキー名は(right)key name
に変更されます。 -
ジョブ図に変換ノードを早期に手動で追加して、競合するキーを削除するか、名前を変更できます。
-
-
[Join type] (結合タイプ) のリストで、結合のタイプを選択します。
-
Inner join (内部結合): 結合条件に基づくすべての一致に対して、両方のデータセットの列を含む行を返します。結合条件を満たさない行は返されません。
-
Left join (左結合): 左側のデータセットのすべての行と、結合条件を満たす右側のデータセットの行の結合です。
-
Right join (右結合): 右側のデータセットのすべての行と、結合条件を満たす左側のデータセットの行の結合です。
-
Outer join (外部結合): 両方のデータセットのすべての行の結合です。
-
Left semi join (左半結合): 右側のデータセットで結合条件に基づく一致がある、左側のデータセットのすべての行の結合です。
-
Left anti join (左反結合): 右側のデータセットで結合条件に基づく一致がない、左側のデータセットのすべての行の結合です。
-
-
[Transform] (変換) タブで、見出し [Join conditions] (結合条件) の下にある、[Add condition] (条件の追加)を選択します。比較する各データセットからプロパティキーを選択します。比較演算子の左側にあるプロパティキーを左側のデータセット、右側にあるプロパティキーを右側のデータセットと呼びます。
より複雑な結合条件の場合、[Add condition] (条件の追加) を複数回クリックして、他の一致するキーを追加できます。誤って条件を追加した場合は、削除アイコン (
) をクリックして削除できます。
(オプション) 変換ノードのプロパティを設定した後、ノードの詳細パネルの [Output schema] (出力スキーマ) タブを選択して、データ用に変更されたスキーマを表示できます。ジョブ内の任意のノードに対してこのタブを初めて選択すると、データにアクセスする IAM ロールを指定するよう求められます。[Job details] (ジョブの詳細) タブで IAM ロールをまだ指定していない場合、ここで IAM ロールを入力するよう求められます。
(オプション) ノードおよび変換のプロパティを設定した後、ノードの詳細パネルの [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}