動的スキーマの処理 マッピングをマッピングタスクに追加するときに、Data Integration がデータオブジェクトスキーマの変更を処理する方法を選択できます。タスクを実行するたびにスキーマが更新されるようにするには、タスクで動的スキーマ処理を有効にします。
スキーマの変更には、データオブジェクトに対する次の1つ以上の変更が含まれます。
• フィールドの追加、削除、またはフィールド名の変更。• フィールドのデータ型、精度、またはスケールの更新。タスクの設定時に、は[ランタイムオプション] タブの[詳細オプション] セクションで、スキーマ変更処理を設定します。非同期的または動的なスキーマ変更処理を設定できます。
動的なスキーマ変更処理を設定する場合は、次のオプションから選択してスキーマを更新できます。
変更して変更を適用 Data Integration はソーススキーマからターゲットスキーマに対する次のような変更を適用します。- 新しいフィールド。ターゲットスキーマを変更し、ソースから新しいフィールドを追加します。- 名前が変更されたフィールド。名前が変更されたフィールドをターゲットの新しいカラムとして追加します。- データ型と精度の更新。これらの変更をターゲットに適用します。スケールの更新には適用されません。- 削除されたフィールド。削除されたフィールドを無視します。DDLの変更を適用しない Data Integration はスキーマの変更をターゲットに適用しません。現在のものを削除してから再作成 既存のターゲットテーブルを削除し、ソースからのすべての受信メタデータフィールドを使用して、実行時にターゲットテーブルを再作成します。 詳細モードのマッピングの動的スキーマの処理 詳細モードのマッピングの実行時にカラムの名前が変更された場合やソースにフィールドが追加された場合は、ソーススキーマとターゲットスキーマのカラムに発生する差異によって、ターゲットスキーマに不整合が生じます。
これを回避するには、ターゲットトランスフォーメーションの[追加の書き込みランタイムパラメータ] フィールドで、次のプロパティをアンパサンドで区切って設定します。
• column_mapping=name • column_mismatch_behavior=ignore これらのプロパティの設定を行うと、Data Integration には名前が含まれるようになり、カラム名に大文字、数字、またはアンダースコアが含まれている場合、ソーススキーマとターゲットスキーマ間の不一致も無視されます。
カラム名に大文字が含まれていない場合は、さらにソーストランスフォーメーションとターゲットトランスフォーメーションでkeep_column_case=on パラメータを設定する必要があります。
• ソースについては、Snowflake Data Cloud接続の[JDBC URLの追加パラメータ] でパラメータを設定します。• ターゲットについては、ターゲットトランスフォーメーションの[追加の書き込みランタイムパラメータ] プロパティでパラメータを指定します。動的スキーマ処理のルールとガイドライン 動的スキーマ変更処理を有効にする場合は、次のルールとガイドラインを考慮してください。