Data Integration は、AnalyticDB for MySQL 3.0、ClickHouse、Hologres、MySQL、PolarDB などのソースから MaxCompute へのデータベース全体のオフライン同期をサポートしています。このトピックでは、MySQL データベース全体を MaxCompute に 1 回限りでオフライン同期する方法について説明します。
前提条件
Serverless リソースグループまたはデータ統合専用リソースグループを購入済みであること。
MySQL データソースと MaxCompute データソースを作成済みであること。詳細については、「データソース設定」をご参照ください。
リソースグループとデータソース間のネットワーク接続を確立済みであること。詳細については、「ネットワーク接続ソリューションの概要」をご参照ください。
制限事項
ソースデータを MaxCompute の外部テーブルに同期することはサポートされていません。
操作手順
ステップ 1:同期タスクの種類の選択
Data Integration ページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ統合へ] をクリックします。
左側のナビゲーションウィンドウで、[同期タスク] をクリックします。ページの上部で、[同期タスクの作成] をクリックします。開いたダイアログボックスで、次の基本パラメーターを設定します。
ソースタイプ:
MySQL宛先タイプ:
MaxCompute[タスク名]:同期タスクの名前を入力します。
タスクタイプ:
Full Database Offline。[同期手順]:[完全初期化] と [増分同期] を選択します。
ステップ 2:ネットワークとリソースの設定
[ネットワークとリソースの構成] セクションで、同期タスクの [リソースグループ] を選択し、[タスクリソース使用量] の CU 数を指定します。
[ソース] をご利用の
MySQLデータソースに、[宛先] をご利用のMaxComputeデータソースに設定し、[接続性テスト] をクリックします。
ソースと宛先のデータソースの接続性テストが成功したら、[次へ] をクリックします。
ステップ 3:同期するデータベースとテーブルの選択
[ソーステーブル] エリアで、ソースデータソースから同期するテーブルを選択します。
アイコンをクリックして、テーブルを [選択されたテーブル] リストに移動します。

ステップ 4:宛先テーブルのプロパティの設定
[パーティション初期化設定] の横にある [設定] ボタンをクリックして、すべての新しい宛先テーブルの初期パーティション設定を行います。この設定は、これらのテーブルのパーティション設定を上書きします。
ステップ 5:完全同期と増分同期の制御の設定
タスクの完全同期と増分同期のタイプを設定します。
[同期モード] で [完全初期化] と [増分同期] の両方を選択した場合、タスクはデフォルトで 1 回限りの完全同期と定期的な増分同期になります。この設定は変更できません。
[同期モード] で [完全初期化] を選択した場合、タスクを 1 回限りの完全同期または定期的な完全同期に設定できます。
[同期モード] で [増分同期] を選択した場合、タスクを 1 回限りまたは定期的な増分同期として設定できます。
説明以下の手順では、1 回限りの完全同期と定期的な増分同期タスクを例として使用します。
定期スケジュールのパラメーターを設定します。
タスクを定期スケジュールで実行する場合は、[定期スケジュールのスケジューリングパラメーターを設定] をクリックします。
ステップ 6:宛先テーブルのマッピングの設定
前のステップで同期するテーブルを選択すると、このページに自動的に表示されます。宛先テーブルのステータスは「マッピングを更新する必要があります」となります。ソーステーブルからデータを読み取り、宛先テーブルに書き込む方法を指定する、ソーステーブルと宛先テーブル間のマッピングを定義する必要があります。その後、[リフレッシュ] をクリックして続行します。マッピングをすぐに更新するか、最初に宛先テーブルのルールをカスタマイズすることができます。
同期するテーブルを選択し、[マッピング結果の一括更新] をクリックできます。マッピングルールが設定されていない場合、テーブルのデフォルトの命名規則は
${SourceDBName}_${TableName}です。宛先に同じ名前のテーブルが存在しない場合、新しいテーブルが自動的に作成されます。タスクはスケジュールに基づいて実行されるため、[スケジュール期間]、[時間プロパティ]、[スケジューリング用リソースグループ] などのスケジューリングプロパティを設定する必要があります。この同期タスクは、Data Studio のノードと同じスケジューリング設定を使用します。詳細については、「ノードのスケジューリング」をご参照ください。
[増分同期の条件] には、ソースデータをフィルターするための WHERE 句の内容を入力します。WHERE キーワードは含めないでください。定期スケジューリングが有効な場合は、システムパラメーター変数を使用できます。
[マッピングルールのカスタマイズ] 列で、[編集] をクリックして、宛先テーブルの命名規則をカスタマイズします。
組み込み変数と手動で入力した文字列を使用して、宛先テーブル名を作成できます。組み込み変数を編集することもできます。たとえば、ソーステーブル名にサフィックスを追加して宛先テーブル名を形成する新しいテーブル命名規則を作成できます。
1. フィールドデータ型のマッピングの編集
同期タスクは、デフォルトでソースフィールドの型を宛先フィールドの型にマッピングします。このマッピングをカスタマイズするには、テーブルの右上隅にある [フィールドデータ型のマッピングを編集] をクリックします。マッピングを設定した後、[適用してマッピングを更新] をクリックします。
2. 宛先テーブルスキーマの編集とフィールド値の割り当て
宛先テーブルのステータスが [作成予定] の場合、そのスキーマにフィールドを追加できます。次の手順に従ってください:
宛先テーブルにフィールドを追加します。
単一のテーブルにフィールドを追加するには、[ターゲットテーブル名] 列にある
ボタンをクリックします。フィールドをバッチで追加するには、同期するすべてのテーブルを選択します。テーブルの下部で、 を選択します。
フィールドに値を割り当てます。追加したフィールドに値を割り当てるには、次の操作を使用できます。
単一のテーブルに値を割り当てるには:[宛先テーブルフィールドの割り当て] 列で、[設定] をクリックします。
バッチで値を割り当てるには、リストの下部で を選択して、複数の宛先テーブルにまたがる同一のフィールドに値を割り当てます。
説明定数または変数を割り当てることができます。
アイコンをクリックして、割り当てモードを切り替えます。
3. カスタム詳細パラメーター
タスクを詳細に制御するには、[カスタム詳細パラメーター] 列の [設定] をクリックします。
これらのパラメーターは、その機能を完全に理解している場合にのみ変更してください。誤った設定は、予期しないエラーやデータ品質の問題を引き起こす可能性があります。
4. ソース分割列の設定
ソースシャードキーのドロップダウンリストから、ソーステーブルのフィールドを選択するか、[分割しない] を選択します。
ステップ 7:詳細パラメーターの設定
同期タスクには、必要に応じて変更できるいくつかのパラメーターが用意されています。たとえば、同期タスクが本番データベースに過度の負荷をかけないように、最大接続数を制限することができます。
これらのパラメーターは、その機能を完全に理解している場合にのみ変更してください。誤った設定は、予期しないエラーやデータ品質の問題を引き起こす可能性があります。
ページの右上隅にある [詳細パラメーターの設定] をクリックして、詳細パラメーター設定ページに移動します。
[詳細パラメーターの設定] ページで、パラメーター値を変更します。
ステップ 8:リソースグループの設定
ページの右上隅にある [リソースグループ設定] をクリックして、現在のタスクのリソースグループを表示または切り替えます。
ステップ 9:同期タスクの実行
設定が完了したら、ページの下部にある [完了] をクリックします。
ページで、作成した同期タスクを見つけ、[操作] 列の [開始] をクリックします。
[タスク] で、タスクの [名前/ID] をクリックして実行詳細を表示します。
ステップ 10:アラートルールの設定
タスクが実行されると、オペレーションセンターで定期実行ジョブが生成されます。タスクエラーによるデータ同期の遅延を防ぐために、同期タスクにアラームポリシーを設定できます。
[タスク] で、実行中の同期タスクを見つけます。[操作] 列で、 を選択してタスク編集ページを開きます。
[次へ] をクリックします。次に、ページの右上隅にある [アラートルールの設定] をクリックしてアラーム設定ページを開きます。
[スケジューリング情報] 列で、定期実行ジョブをクリックしてオペレーションセンターのタスク詳細ページを開き、[タスク ID] を取得します。
オペレーションセンターの左側のナビゲーションウィンドウで、 を選択して、ルール管理ページに移動します。
[カスタムルールの作成] をクリックし、[ルールオブジェクト]、[トリガー条件]、[アラート詳細] を設定します。詳細については、「ルール管理」をご参照ください。
[ルールオブジェクト] フィールドで、取得したタスク ID を使用して対象のタスクを検索し、アラートを設定します。
同期タスクの運用保守
タスクステータスの表示
同期タスクを作成した後、[同期タスク] ページで作成されたタスクのリストとその基本情報を表示できます。

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

MySQL データベース全体を MaxCompute に同期するオフライン同期タスクの場合:
同期ステップで [完全初期化] を選択した場合、スキーマ移行と完全同期の詳細が表示されます。
同期ステップで [増分同期] を選択した場合、スキーマ移行と増分同期の詳細が表示されます。
同期ステップとして [完全初期化] と [増分同期] を選択した場合、スキーマ移行、完全同期、および増分同期の詳細が表示されます。
タスクの再実行
[再実行] をクリックして、タスク設定を変更せずにタスクを再実行します。
効果:この操作により、ワンタイムタスクが再実行されるか、定期タスクのプロパティが更新されます。
テーブルの追加や削除など、タスクを変更した後に再実行するには、タスクを編集して [完了] をクリックします。タスクのステータスは [更新を適用] に変わります。[更新を適用] をクリックすると、変更されたタスクの再実行がすぐにトリガーされます。
効果:新しいテーブルのみが同期されます。以前に同期されたテーブルは再同期されません。
タスクを編集した後 (たとえば、宛先テーブル名を変更したり、別の宛先テーブルに切り替えたりした後) に [完了] をクリックすると、タスクで利用可能な操作は [更新を適用] に変わります。[更新を適用] をクリックすると、変更されたタスクの再実行がすぐにトリガーされます。
効果:変更されたテーブルが同期されます。変更されていないテーブルは再同期されません。