データマート定義では、転送設定のスキーマ追従機能(BigQueryとSnowflakeでのみ提供)のようなスキーマの変更を反映する仕組みは備わっていません。
そのため、転送対象のスキーマに変更が発生した場合、既存テーブルに対する追記はエラーとなり、転送が失敗します。
スキーマ変更時には一定の作業が発生してしまう点、ご理解ください。
つきましては、以下のいずれかの対応方法をご提案します。
案1:(削除時のみ可)削除されたカラムをクエリでNULL埋めする
データマート定義のクエリにて削除されたカラムにNULLを指定する(例:ageというカラムが削除されている場合)
SELECT
id,
name,
NULL as age
FROM
sample_table
案2:転送設定のスキーマ追従機能を利用して、都度スキーマの変更を検知する
スキーマの変更が頻繁に発生する場合、転送設定を利用して都度スキーマ追従(カラム定義の更新)をすることが可能です。
- 現在ご利用中のデータマート定義を一時テーブル(新規作成したテーブル)としていただき、転送モードをREPLACEに設定してデータを転送する
- 転送設定にて転送モードをAPPEND or MERGEに設定する
- 保存時に、スキーマ追従機能が作動するので変更を反映する
- マスターテーブルに一時テーブルのレコードを転送する
コメント
0件のコメント
記事コメントは受け付けていません。