Case4. canonical_id を master_table の attribute として設定する#
(Case3. の続き) canonical_id は Master Segment の attribute として設定することができる。
canonical_ids:
- name: brand_id_ax
merge_by_keys: [td_client_id, td_global_id]
source_tables: ['site_aaa','site_xxx']
merge_iterations: 5
- name: brand_id_yz
merge_by_keys: [td_client_id, td_global_id]
source_tables: ['site_yyy','site_zzz']
merge_iterations: 5
- name: unified_brand_id
merge_by_keys: []
merge_by_canonical_ids: [brand_id_ax, brand_id_yz]
merge_iterations: 5
master_tables:
- name: master_table_ex3
canonical_id: unified_brand_id
attributes:
- name: brand_id_ax
source_canonical_id: brand_id_ax
- name: brand_id_yz
source_canonical_id: brand_id_yz
- name: td_client_id
invalid_texts: ['']
source_columns:
- {table: 'site_aaa', order: first, order_by: td_client_id, priority: 1}
- {table: 'site_xxx', order: first, order_by: td_client_id, priority: 1}
- {table: 'site_yyy', order: first, order_by: td_client_id, priority: 1}
- {table: 'site_zzz', order: first, order_by: td_client_id, priority: 1}
- name: td_global_id
valid_regexp: "3rd_*"
invalid_texts: ['']
source_columns:
- {table: 'site_aaa', order: last, order_by: time, priority: 1}
- {table: 'site_xxx', order: last, order_by: time, priority: 1}
- {table: 'site_yyy', order: last, order_by: time, priority: 1}
- {table: 'site_zzz', order: last, order_by: time, priority: 1}
この設定では、brand_id_ax
と brand_id_yz
の canonical_id が attribute:
内で設定されている。このように、その他の canonical_id を attribute として設定することができるが、設定する際には必ず master_table の canonical_id (今回だと unified_brand_id ) と merge_by_canonical_ids:
によって関係付けられている必要がある。
また、繰り返しになるが、brand_id_ax
や brand_id_yz
は master_table の canonical_id には設定できない。なぜなら、カバーしているソーステーブルが全テーブルをカバーしていないために、生成した canonical_id を全てのテーブルにエンリッチすることができないからである。
master_table#
出力される master_table は、canonical_id:
で指定した unified_cookie_id の数だけレコードが生成される。attibute に設定した canonical_id の影響を受けないことを理解しておこう。
brand_id_ax, brand_id_yz は Case 1. で見た通り、複数の canonical_id を持っていた。にも関わらず、それらが attribute として引用される場合には、time カラムの意味で最も最近登場した key に基づく canonical_id のみが入ることになるのだ。
unified_brand_id |
td_client_id |
td_global_id |
brand_id_ax |
brand_id_yz |
---|---|---|---|---|
wONJPFlQsJyj |
aaa_001 |
3rd_018 |
XuCLIRp30bxG |
RXcPcKu6CO1G |