カラムの追加については、BigQueryとSnowflakeのデータマート定義でスキーマ自動追従モードを利用することで自動で反映できます。カラムの削除・型変更については自動追従に対応していないため、手動での対応が必要です。
スキーマ自動追従モードは、書き込みモードが「増分更新」または「SCD Type 2 (履歴保持)」の場合のみ利用できます。
※ 増分更新およびSCD Type 2 (履歴保持) は、Essentialプラン以上のアカウントでのみ利用できます。
データマート定義の設定画面で「スキーマ自動追従モード」を以下から選択します。
- カラム自動追加:スキーマの変更を検知し、カラムを自動的に追加します。
- 検知のみ:スキーマの変更を検知しますが、自動的には追従しません。カラムの追加・削除・型変更をいずれも検知できます。
カラム追加の場合
「カラム自動追加」を選択することで、カラムの追加を自動で反映できます。
Essentialプラン未満のアカウント、または書き込みモードが「追記」の場合
Essentialプランに加入していないアカウントはスキーマ自動追従モードを利用できません。また、スキーマ自動追従モードは書き込みモードが「増分更新」または「SCD Type 2 (履歴保持)」の場合のみ対応しているため、書き込みモードが「追記」の場合も利用できません。いずれの場合も、転送設定のスキーマ追従機能 (BigQueryとSnowflakeでのみ提供) を使う方法があります。
(参考)スキーマ追従機能
- データマート定義を一時テーブル (新規作成したテーブル) として、書き込みモードをREPLACEに設定してデータを転送する
- 転送設定にて転送モードを「追記 (APPEND)」か「UPSERT (MERGE)」に設定する
- 保存時にスキーマ追従機能が作動するので、変更を反映する
- マスターテーブルに一時テーブルのレコードを転送する
カラム削除の場合
カラム削除の自動追従には対応していません。出力先テーブルのスキーマを手動で変更してください。
カラムを手動で削除できない場合は、削除されたカラムをクエリで NULL 埋めすることでエラーを回避できます。
例: age というカラムが削除されている場合
SELECT
id,
name,
NULL as age
FROM
sample_table
コメント
0件のコメント
記事コメントは受け付けていません。