Limitations
Maximum Number of Keys in key_columns
The maximum number of keys that can be specified in key_columns:
for each table within tables:
is 32.
tables:
- database: prod
table: pageviews
key_columns:
- {column: td_client_id, key: td_client_id}
# Up to 32 keys can be listed
- database: brand2
table: pageviews
as: brand2_pageviews
key_columns:
- {column: td_client_id, key: td_client_id}
- {column: td_global_id, key: td_global_id}
- {column: email, key: email}
# Up to 32 keys can be listed
Maximum Number of Tables in tables
The maximum number of tables that can be listed under tables:
is 255.
Maximum Occurrences of a Key in tables
The maximum number of times a key can appear across all tables listed in tables:
is 32. Exceeding this limit will result in an error.
keys:
- name: td_client_id
invalid_texts: ['']
- name: td_global_id
valid_regexp: "3rd_*"
invalid_texts: ['']
- name: email
valid_regexp: ".*@.*"
invalid_texts: ['']
# Error occurs because td_client_id, td_global_id, and email appear 33 times
tables:
- database: db1
table: pageviews
key_columns:
- {column: td_client_id, key: td_client_id}
- {column: td_global_id, key: td_global_id}
- {column: email, key: email}
- database: db2
table: pageviews
key_columns:
- {column: td_client_id, key: td_client_id}
- {column: td_global_id, key: td_global_id}
- {column: email, key: email}
...
- database: db33
table: pageviews
key_columns:
- {column: td_client_id, key: td_client_id}
- {column: td_global_id, key: td_global_id}
- {column: email, key: email}
Restrictions on do_not_merge_key
and merge_by_keys
When using do_not_merge_key:
, the key specified in do_not_merge_key:
must be listed as the first (highest-priority) element in merge_by_keys:
. Failure to follow this rule will result in the following error:
400 Bad Request: {"canonical_ids[0].do_not_merge_key": ["must be the first element of merge_by_keys"]}