ジョイナトランスフォーメーションの例
あなたはオンライン小売業者のマーケティングマネージャであり、注文データをさまざまなAmazon S3ソースからの製品データおよび顧客データとマージして、顧客が何を購入しているかを理解したいと考えています。ジョイナトランスフォーメーションを使用して、ソースからのデータを結合します。
Amazon S3バケットには、orders、order_items、customer_dataという3つのソースデータテーブルがあります。次の図に、これらのソースからのデータを結合するマッピングを示します。
マッピングには次の要素が含まれます。
- ordersのソーストランスフォーメーション
- ordersデータテーブルには、各オンライン注文の注文番号、日付、価格、顧客IDのフィールドが含まれています。
次の表にordersの一部を示します。
Order_id | order_date | customer_id | order_price |
---|
1005 | 2023-01-20 | 789 | 78.25 |
1006 | 2023-01-24 | 268 | 150.09 |
1007 | 2023-02-07 | 268 | 30.20 |
- order_itemsのソーストランスフォーメーション
- order_itemsデータテーブルには、数量や価格など、各注文の商品に関する詳細が含まれます。
次の表にorder_itemsの一部を示します。
Order_id | item_id | qty | price |
---|
1005 | 5063 | 2 | 34.99 |
1006 | 2389 | 3 | 19.99 |
1006 | 5063 | 1 | 34.99 |
1007 | 9871 | 2 | 10.99 |
ソーストランスフォーメーションでは、order_itemsをordersと結合するときにフィールド名の競合を避けるために、フィールドorder_idの名前をitems_order_idに変更します。
- customer_dataのソーストランスフォーメーション
- customer_dataテーブルには、名前、生年月日、電話番号など、顧客が提供する情報のフィールドが含まれています。
次の表にcustomer_dataの一部を示します。
c_id | c_name | c_dob |
---|
789 | Kelcy Almeida | 1969-07-20 |
268 | Chidi Donalds | 1972-12-07 |
- ordersとorder_itemsのジョイナトランスフォーメーション
- 最初のジョイナトランスフォーメーションは、ordersとorder_itemsの間の通常の結合を実行します。ordersソーストランスフォーメーションはマスターグループであり、order_itemsソーストランスフォーメーションは詳細グループであるため、注文された各品目に注文情報が追加されます。
ジョイナトランスフォーメーションは、次の結合条件を使用して、注文IDでデータを照合します: order_id = items_order_id。
- customer_dataのジョイナトランスフォーメーション
- 2番目のジョイナトランスフォーメーションは、customer_dataと最初のジョイナトランスフォーメーションからの出力の間の詳細な外部結合を実行します。このトランスフォーメーションでは、customer_dataソーストランスフォーメーションがより小さなデータセットであるため、マスターグループとして使用されます。
2番目のジョイナトランスフォーメーションは、次の結合条件を使用して、顧客IDでデータを照合します: customer_id = c_id。
- ターゲットトランスフォーメーション
- ターゲットトランスフォーメーションは、データをAmazon S3の新しいファイルに書き込みます。受信フィールドを設定して、結合の結果として生じる重複フィールドを除外できます。
次の表に、出力データの一部を示します。
Order_id | order_date | order_price | item_id | qty | price | c_id | c_name | c_dob |
---|
1005 | 2023-01-20 | 78.25 | 5063 | 2 | 34.99 | 789 | Kelcy Almeida | 1969-07-20 |
1006 | 2023-01-24 | 150.09 | 2389 | 3 | 19.99 | 268 | Chidi Donalds | 1972-12-07 |
1006 | 2023-01-24 | 150.09 | 5063 | 1 | 34.99 | 268 | Chidi Donalds | 1972-12-07 |
1007 | 2023-02-07 | 30.20 | 9871 | 2 | 10.99 | 268 | Chidi Donalds | 1972-12-07 |