Data Integration は、AnalyticDB for MySQL 3.0、MySQL、Oracle、PolarDB、PostgreSQL などのソースから OSS へのデータベース全体のオフライン同期をサポートしています。このトピックでは、MySQL をソース、OSS を宛先として使用し、MySQL データベース全体のデータを OSS データレイクにオフラインで同期する方法について説明します。
前提条件
サーバーレスリソースグループまたはデータ統合専用リソースグループを購入済みであること。
MySQL データソースと OSS データソースを作成済みであること。 詳細については、「データソースの構成」をご参照ください。
説明バイナリロギング (binlog) 機能を有効にする必要があります。 詳細については、「MySQL データソース」をご参照ください。
リソースグループとデータソース間のネットワーク接続を確立済みであること。 詳細については、「ネットワーク接続ソリューション」をご参照ください。
手順
1. 同期タスクのタイプを選択する
Data Integration ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ統合へ] をクリックします。
左側のナビゲーションウィンドウで、[同期タスク] をクリックします。ページの上部で [同期タスクの作成] をクリックして、同期タスク作成ページを開きます。基本情報を設定します。
ソースと宛先:
MySQL→OSS新しいタスク名: 同期タスクのカスタム名を入力します。
同期タイプ:
オフラインデータベース全体。同期ステップ: [完全同期] と [増分同期] を選択します。
2. ネットワークとリソースを設定する
[ネットワークとリソースの構成] セクションで、同期タスクの [リソースグループ] を選択します。[タスクリソース使用量] に CU を割り当てることができます。
[ソースデータソース] には
MySQLデータソースを選択します。[宛先データソース] にはOSSデータソースを選択します。次に、[接続性のテスト] をクリックします。
ソースと宛先のデータソースが接続されていることを確認したら、[次へ] をクリックします。
3. 宛先の基本設定を行う
OSS へのオフラインデータベース全体の同期は、[Paimon]、[Iceberg]、[CSV]、[text]、[Parquet]、[ORC] など、複数の書き込みフォーマットをサポートしています。
設定パラメーターは書き込みフォーマットによって異なります。必要に応じてパラメーターを設定します:
Paimon, Iceberg
パラメーター | 説明 |
ストレージパスの選択 | データがデータレイクに取り込まれた後に保存される OSS パスを選択します。 |
メタデータベースの自動ビルド場所の選択 | DLF にメタデータベースを自動的にビルdするかどうかを選択します。 説明 メタデータベースは、同じリージョンにある DLF インスタンスにのみビルドできます。 |
CSV, text
パラメーター | 説明 |
宛先ルートパス | フォーマット: 説明 スケジューリングパラメーター |
列区切り文字 | コンマ (,) など、データ内のフィールドを区切る文字。区切り文字が表示されない場合は、 |
プレフィックスの競合 | データを書き込む際に、書き込み先オブジェクトに書き込み対象オブジェクトと同じプレフィックスが存在する場合、次のいずれかの操作を実行できます。
|
テーブルヘッダーの出力 | テーブルヘッダーをコンテンツとして出力するかどうかを指定します。 |
Parquet, ORC
設定するパラメーター | 説明 |
宛先ルートパス | フォーマット: 説明 スケジューリングパラメーター |
プレフィックスの競合 | データを書き込むとき、宛先オブジェクトに書き込むオブジェクトと同じプレフィックスがある場合は、次のいずれかの操作を実行できます。
|
4. 同期するデータベースとテーブルを選択する
[ソーステーブル]エリアで、ソースデータソースから同期するテーブルを選択します。
アイコンをクリックして、テーブルを[選択済みテーブル]リストに移動します。

5. 完全および増分制御を設定する
タスクの完全および増分同期タイプを設定します。
[同期ステップ] で [完全同期] と [増分同期] の両方を選択した場合、タスクはデフォルトでワンタイム完全同期と定期的な増分同期になります。この設定は変更できません。
[同期ステップ] で [完全同期] を選択した場合は、タスクをワンタイム完全同期または定期的な完全同期に設定できます。
[同期ステップ] で [増分同期] を選択した場合は、タスクをワンタイムまたは定期的な増分同期として設定できます。
説明次のステップでは、ワンタイム完全同期と定期的な増分同期タスクを例として使用します。
定期的なスケジュールパラメーターを設定します。
タスクを定期的なスケジュールで実行する場合は、[定期的なスケジュールパラメーター] をクリックします。
6. 宛先テーブルのマッピングを設定する
同期するテーブルを選択すると、それらは現在のページに自動的に表示されます。デフォルトでは、オブジェクトファイルのプロパティは「マッピングを更新する必要があります」というステータスになります。ソーステーブルとオブジェクトファイル間のマッピングを定義して確認する必要があります。これにより、データの読み取りと書き込みの関係が定義されます。[マッピングの更新] をクリックして続行する前に、マッピングを直接更新するか、オブジェクトファイルルールをカスタマイズできます。
同期するテーブルを選択し、[バッチマッピングの更新] をクリックできます。マッピングルールが設定されていない場合、宛先 OSS オブジェクトのデフォルトの命名規則は
${Source Table Name}/data_${Data Timestamp}です。定期的なスケジューリングが必要なため、定期的なスケジューリングタスクのプロパティを定義する必要があります。これらのプロパティには、[スケジューリング周期]、[再実行プロパティ]、[スケジューリングリソースグループ] が含まれます。この同期のスケジューリング設定は、Data Studio のノードスケジューリング設定と一致しています。パラメーターの詳細については、「ノードスケジューリング」をご参照ください。
選択した [同期ステップ] に基づいて、[増分条件] と [完全条件] を設定します。これらの条件は、ソースデータをフィルター処理するために WHERE 句を適用します。WHERE キーワードではなく、句のコンテンツのみを入力します。定期的なスケジュールを有効にする場合は、システムパラメーターを使用できます。
[カスタム宛先パスマッピング] および [カスタム宛先ファイル名マッピング] 列で、[設定] をクリックして、宛先 OSS オブジェクトのストレージパスと命名規則をカスタマイズします。詳細については、「付録: 宛先 OSS ファイルパスと名前の説明」をご参照ください。
1. フィールドタイプのマッピングを編集する
同期タスクは、デフォルトでソースフィールドタイプを宛先フィールドタイプにマッピングします。このマッピングをカスタマイズするには、テーブルの右上隅にある [フィールドタイプのマッピングを編集] をクリックします。マッピングを設定した後、[適用してマッピングを更新] をクリックします。
2. オブジェクトファイルにフィールドを追加して値を割り当てる
元のテーブルスキーマにない新しいフィールドをオブジェクトファイルに追加できます。これを行うには、次の手順を実行します:
フィールドを追加し、単一のテーブルに値を割り当てる: [オブジェクトファイルにフィールドを追加] 列の [設定] をクリックします。[フィールドの追加] ページで、[フィールドの追加] をクリックしてオブジェクトファイルにフィールドを追加し、それに値を割り当てます。
値を一括で割り当てる: 複数のテーブルを選択します。リストの下部で、 を選択して、宛先テーブルに同じフィールドを追加し、値を一括で割り当てます。
説明定数と変数を割り当てることができます。
アイコンをクリックして割り当てモードを切り替えます。
3. 高度なパラメーターをカスタマイズする
タスクを詳細に制御するには、[高度なパラメーターのカスタマイズ] 列の [設定] をクリックします。
これらのパラメーターの機能を完全に理解している場合にのみ変更してください。設定が正しくないと、予期しないエラーやデータ品質の問題が発生する可能性があります。
4. ソースチャンク列を設定する
ソースチャンク列では、ドロップダウンリストからソーステーブルのフィールドを選択するか、[チャンクしない] を選択できます。
7. 高度なパラメーターを設定する
同期タスクには、必要に応じて変更できるいくつかのパラメーターが用意されています。たとえば、同期タスクが本番データベースに過度の負荷をかけないように、最大接続数を制限できます。
これらのパラメーターの機能を完全に理解している場合にのみ変更してください。設定が正しくないと、予期しないエラーやデータ品質の問題が発生する可能性があります。
ページの右上隅にある [高度なパラメーター設定] をクリックして、高度なパラメーター設定ページに移動します。
[高度なパラメーター設定] ページで、パラメーター値を変更します。
8. リソースグループを設定する
ページの右上隅にある [リソースグループの設定] をクリックして、現在のタスクのリソースグループを表示または切り替えます。
9. 同期タスクを実行する
設定が完了したら、ページの下部にある [設定の完了] をクリックします。
ページで、作成した同期タスクを見つけ、[アクション] 列の [開始] をクリックします。
[タスクリスト] で、タスクの [名前/ID] をクリックして実行の詳細を表示します。
10. アラートを設定する
タスクが実行されると、オペレーションセンターでスケジュールされたジョブが生成されます。タスクエラーによるデータ同期の遅延を防ぐために、同期タスクのアラームポリシーを設定できます。
[タスクリスト] で、実行中の同期タスクを見つけます。[アクション] 列で、 を選択してタスク編集ページを開きます。
[次へ] をクリックします。次に、ページの右上隅にある [アラーム設定] をクリックして、アラーム設定ページを開きます。
[スケジューリング情報] 列で、スケジュールされたジョブをクリックしてオペレーションセンターでタスク詳細ページを開き、[タスク ID] を取得します。
オペレーションセンターの左側のナビゲーションウィンドウで、 を選択して、[ルール管理] ページに移動します。
[カスタムルールの作成] をクリックし、[ルールオブジェクト]、[トリガーメソッド]、[アラーム動作] を設定します。詳細については、「ルール管理」をご参照ください。
[ルールオブジェクト] フィールドで、取得したタスク ID を使用してターゲットタスクを検索し、アラートを設定します。
同期タスクの O&M
タスクの実行ステータスを表示する
同期タスクを作成した後、同期タスクページで作成された同期タスクのリストとその基本情報を表示できます。

[操作] 列では、同期タスクを [開始] または [停止] できます。[その他] メニューから、[編集] や [表示] などの他の操作を実行できます。
実行中のタスクについては、[実行概要] セクションで基本的な実行ステータスを表示できます。対応する概要エリアをクリックして実行の詳細を表示することもできます。

MySQL から OSS へのオフラインデータベース全体の同期タスクでは:
タスクの同期ステップが [完全同期] の場合、スキーマ移行と完全同期が表示されます。
タスクの同期ステップが [増分同期] の場合、スキーマ移行と増分同期が表示されます。
タスクの同期ステップが [完全同期] + [増分同期] の場合、スキーマ移行、完全同期、増分同期が表示されます。
タスクを再実行する
[再実行] をクリックして、タスク設定を変更せずにタスクを再実行します。
効果: この操作は、ワンタイムタスクを再実行するか、定期的なタスクのプロパティを更新します。
テーブルを追加または削除してタスクを変更した後にタスクを再実行するには、タスクを編集して [完了] をクリックします。タスクのステータスは [更新の適用] に変わります。[更新の適用] をクリックすると、変更されたタスクの再実行がすぐにトリガーされます。
効果: 新しいテーブルのみが同期されます。以前に同期されたテーブルは再度同期されません。
タスクを編集した後 (たとえば、宛先テーブル名を変更したり、別の宛先テーブルに切り替えたりした後) に [完了] をクリックすると、タスクで利用可能な操作が [更新の適用] に変わります。[更新の適用] をクリックすると、変更されたタスクの再実行がすぐにトリガーされます。
効果: 変更されたテーブルが同期されます。変更されていないテーブルは再度同期されません。
ユースケース
ダウンストリームのデータ依存関係があり、データ開発操作を実行する必要がある場合は、「ノードスケジューling」を参照してアップストリームノードとダウンストリームノードを設定できます。対応する自動トリガーされるタスクノード情報は、[定期的な設定] 列で表示できます。

付録: 最終的な宛先 OSS ファイルパスと名前の説明
DataWorks Data Integration は、ステップ 6. 宛先テーブルのマッピングを設定する の間に、宛先 OSS パスと宛先 OSS ファイル名をマッピングするためのカスタムルールを提供します。
宛先 OSS パスをマッピングするための組み込みカスタムルール:
default_path_convert_rule。このルールは、ソースデータベース名を宛先 OSS パスとして使用します。たとえば、ソースデータベース名が di_ide_yufa の場合、この名前が OSS の宛先パスとして使用されます。OSS のストレージパスは di_ide_yufa です。
宛先 OSS ファイル名をマッピングするために、2 つの組み込みカスタムルールが利用可能です:
default_file_convert_rule_with_schedule_params: このルールは${srcTableName}/data_${bizdate}として定義されます。ソーステーブル名${srcTableName}は OSS パスの一部として使用され、オブジェクトファイル名はdata_の後にスケジューリングパラメーター${bizdate}の値が続きます。説明たとえば、ソーステーブル名が base_c_app_config で、スケジューリング日の値が 20230101 の場合、OSS で生成される宛先オブジェクト名は base_c_app_config/data_20230101 になります。
default_file_convert_rule: このルールは${srcTableName}/dataとして定義されます。ソーステーブル名${srcTableName}は OSS パスの一部として使用され、デフォルトのオブジェクトファイル名はdataです。説明たとえば、ソーステーブル名が base_c_app_config の場合、変換された宛先オブジェクト名は base_c_app_config/data になります。
最終的な OSS ファイルの書き込みパスとファイル名は、次の 3 つの部分を連結して形成されます。
宛先ルートパス。

カスタム宛先 OSS パスマッピングから取得したオブジェクトファイルパス。
カスタム宛先 OSS ファイル名マッピングルールから取得したオブジェクトファイル名。
