概要
スキーマ変更検知とは、転送ジョブ実行時に転送元のスキーマ変更を検知した際に、設定したSlack通知先に通知できる機能です。
また、一部コネクタの組み合わせでは、転送先テーブルと転送設定を自動で更新して転送を続行するスキーマ自動追従も利用できます。
スキーマ自動追従を利用すると、転送元でカラムの追加や削除が発生するたびに転送設定を修正することなく、転送を継続できます。
スキーマ追従は、転送設定の編集後にSTEP3で保存して適用をクリックした際に、カラム定義と転送先テーブルとの差分を転送先テーブルに反映する機能です。
スキーマ追従が「ユーザーによる設定変更を転送先テーブルへ反映する」機能であるのに対して、スキーマ自動追従は「転送元で発生したスキーマ変更に自動で追従する」機能です。
なお、スキーマ自動追従によってリビジョンが自動発行された際に、スキーマ追従が実行されることはありません。
データマート定義(Google BigQuery)には、スキーマ自動追従モードという機能があります。
名称が似ていますが、本ドキュメントで説明するスキーマ自動追従とは別の機能です。
対象コネクタ
スキーマ変更検知は、以下の転送元コネクタで利用できます。
- BigQuery
- Databricks
- DB2 for LUW
- Facebook Ad クリエイティブ
- Facebookリード広告
- Google Ad Manager
- Google Cloud Spanner
- HubSpot
- Jira
- Adobe Marketo Engage
- Microsoft SQL Server
- MySQL
- Oracle Database
- PostgreSQL
- Snowflake
- Redshift
- Repro
- Slack
- Treasure Data
- X Ads
また、スキーマ自動追従は、以下の転送元・転送先の組み合わせで利用できます。
- 転送元:HubSpot・Salesforce
- 転送先:Google BigQuery
設定項目
転送設定STEP2のカラム定義で、スキーマ変更検知またはスキーマ自動追従設定をONにすることで利用できます。
| 項目 | デフォルト値 | 説明 |
|---|---|---|
| 通知先 | - | スキーマ変更を検知した際に通知するSlack通知先を選択します。 |
| スキーマ変更検知の通知設定 | - | Slack通知時のメンションを指定します。複数にメンションをしたい場合、半角スペースで区切って入力してください。 |
スキーマ変更検知の場合
| 項目 | 説明 |
|---|---|
| スキーマ変更検知時にジョブを中断する | スキーマ変更の検知の通知を行い、ジョブを中断します。 |
| スキーマ変更検知時にジョブを中断しない | スキーマ変更の検知と通知を行いますが、ジョブは続行します。 |
デフォルトでは、スキーマ変更検知時にジョブを中断するが選択されています。
スキーマ自動追従の場合
| 選択肢 | 説明 |
|---|---|
| スキーマ変更を自動で追従してジョブを続行する | スキーマ自動追従を行います。 詳しくは、スキーマ自動追従の挙動を参照ください。 |
| スキーマ変更検知のみを行いジョブを中断する | スキーマ変更の検知と通知のみを行い、ジョブを中断します。 スキーマ変更検知のスキーマ変更検知時にジョブを中断すると同様の挙動となり、転送先テーブルや転送設定への反映は行われません。 |
| スキーマ変更検知のみを行いジョブを中断しない | スキーマ変更の検知と通知のみを行ますが、ジョブは続行します。 スキーマ変更検知時にジョブを中断しない**と同様の挙動となり、転送先テーブルや転送設定への反映は行われません。 |
デフォルトでは、スキーマ変更検知のみを行いジョブを中断するが選択されています。
スキーマ自動追従の挙動
スキーマ自動追従ではカラムの追加と削除に対応しており、検知したスキーマ変更の種類に応じて以下のように動作します。
- カラムの追加:転送先テーブルにカラムを追加し、転送設定の新しいリビジョンを自動で発行した上で、転送を続行します。追加されたカラムについて、追加前に転送されたレコードの値は
NULLになります。 - カラムの削除:転送先テーブルのカラムは残したまま、該当のカラムを転送対象から外して転送を続行します。以降に転送されるレコードでは、該当カラムの値は
NULLになります。
権限不足などの理由で転送先テーブルへのスキーマ反映に失敗した場合、自動追従を中止し、既存の設定のまま転送を続行します。
カラムの型の変更を含むスキーマ変更を検知した場合、自動追従は行われずジョブが中断されます。
カラムの追加・削除が同時に含まれていても、自動追従は行われません。
カラムの削除を自動追従するには、削除されたカラムが転送先テーブルでNULLを許容している必要があります。
転送モードで全件洗い替え (REPLACE)を選択している場合、カラムを追加するDDLは実行されません。テーブルの再作成によって、新しいスキーマが転送先テーブルに反映されます。
リビジョンの自動発行
スキーマ自動追従が実行されると、転送設定の新しいリビジョンが自動で発行されます。
自動発行されたリビジョンは、転送設定の変更履歴に「スキーマ自動追従による自動発行」として記録されます。
なお、ユーザーが編集中のリビジョンが破棄されることはありません。
通知
スキーマ変更の検知や自動追従が行われると、設定した通知先のSlackチャンネルに通知が送信されます。
通知には検知時の挙動として、以下のいずれかが表示されます。
- ジョブを中断
- ジョブを続行
- スキーマ自動追従
- スキーマ自動追従に失敗
- スキーマ自動追従の対象外(型変更)。ジョブを中断