オフライン同期タスクは、完全データまたは増分データの同期を選択できるデータフィルタリング機能を提供します。フィルター条件を設定すると、その条件を満たすデータのみが同期されます。フィルター条件とスケジューリングパラメーターを組み合わせることで、動的なフィルターを作成できます。この条件はタスクのスケジュール時間に基づいて変化し、増分データ同期を実現します。このトピックでは、増分データ同期タスクの設定方法について説明します。
注意事項
HBase や OTSStream などの一部のデータソースは、増分同期をサポートしていません。
増分同期を設定するためのパラメーターは、プラグインによって異なります。特定のパラメーター設定については、対応する Reader プラグインのドキュメントをご参照ください。詳細については、「サポートされているデータソースと読み取り/書き込みプラグイン」をご参照ください。例:
データベースタイプ
増分同期のパラメーター
サポートされている構文
where
説明コードレス UI では、このパラメーターは「データフィルタリング」と呼ばれます。
データベース構文
説明スケジューリングパラメーターと組み合わせることで、毎日特定の時間範囲のデータを読み取ることができます。
query
説明コードレス UI では、このパラメーターは「取得クエリ条件」と呼ばれます。
これは基本的にデータベースと同じです。
説明スケジューリングパラメーターと組み合わせることで、毎日特定の時間範囲のデータを読み取ることができます。
Object
パスの指定
説明スケジューリングパラメーターと組み合わせることで、毎日特定のファイルからデータを読み取ることができます。
...
...
...
増分同期の設定
オフラインの Data Integration 同期タスクでは、スケジューリングパラメーターを使用して、ソーステーブルと宛先テーブルのデータパスとタイムスタンプ範囲を指定できます。スケジューリングパラメーターの設定方法は、他のタスクタイプと同じであり、特別な制限はありません。
実行時に、システムはタスク構成内のプレースホルダーパラメーターを、スケジューリングパラメーター式の実際の値に置き換えます。その後、タスクはデータ同期を実行します。
例えば、MySQL データを同期する場合:
[データフィルタリング] が設定されていない場合、タスクはデフォルトで完全データを宛先テーブルに同期します。
[データフィルタリング] を設定した場合、タスクはフィルター条件を満たすデータのみを宛先テーブルに同期します。
スケジューリングパラメーターを使用して、宛先の MaxCompute テーブルパーティション名を指定できます。$bizdate パラメーターはデータタイムスタンプを表します。定期タスクが実行されると、システムはタスク構成内のパーティションフィルター式を、スケジューリングパラメーターのデータタイムスタンプに置き換えます。スケジューリングパラメーター式の構成方法の詳細については、「スケジューリングパラメーターの設定と使用」をご参照ください。
増分データ同期を設定する場合:
時間ベースの増分フィールドの同期:スケジューリングパラメーターを使用して、時間ベースのデータを動的に置き換えることができます。スケジューリングパラメーターは、タスクがスケジュールされた際のビジネス時間に基づいて、自動的に特定の値に置き換えられます。スケジューリングパラメーターの使用方法の詳細については、「サポートされているスケジューリングパラメーターのフォーマット」をご参照ください。
時間ベースでない増分フィールドの同期:代入ノードを使用してフィールドをターゲットデータの型に処理し、そのフィールドを Data Integration に渡してデータ同期を行うことができます。代入ノードの使用方法の詳細については、「代入ノード」をご参照ください。
シナリオ例
既存データの同期:既存の増分データを宛先テーブルの対応する時間ベースのパーティションに同期するには、オペレーションセンターのデータバックフィル機能を使用できます。データバックフィル機能の使用方法の詳細については、「データバックフィルインスタンスの O&M」をご参照ください。