Limitations#

key_columns: 内に列挙できる key の数は最大32まで#

yml ファイルにおいて、tables: における各テーブル内で指定できる key_columns: 内の key 数は最大32までとなる。

tables:
  - database: prod
    table: pageviews
    key_columns:
      - {column: td_client_id, key: td_client_id}
      # 最大32まで列挙

 - 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}
      # 最大32まで列挙

tables: に列挙できる table の数は最大255まで#

tables: 内で列挙できる table の数は最大255までとなる。

tables: 内での key の登場回数は最大32回まで#

yml ファイルにおいて、tables: 内で登場できる回数が 32 までとなる。

keys:
  - name: td_client_id
    invalid_texts: ['']

  - name: td_global_id
    valid_regexp: "3rd_*"
    invalid_texts: ['']

  - name: email
    valid_regexp: ".*@.*"
    invalid_texts: ['']

# td_client_id, td_global_id, email が 33回登場しているのでエラーとなる!
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}

do_not_merge_key: 使用時の merge_by_keys: の順番の制約#

do_not_merge_key: 使用時には、merge_by_keys: の先頭 (優先度が最も高い位置) に do_not_merge_key: に設定した key を指定する必要がある。そうでないと、以下のエラーメッセージを受け取ることになる。

400 Bad Request: {"canonical_ids[0].do_not_merge_key" :[ "must be the first element of merge_by_keys"]}