すべてのプロダクト
Search
ドキュメントセンター

DataWorks:MySQL データベースから Hive に一度に全データを同期し、定期的に増分データを同期する

最終更新日:Jan 11, 2025

このトピックでは、オフラインモードで MySQL データベースから Hive にデータを同期する方法について説明します。

制限事項

この例では、Data Integration 専用リソースグループのみがサポートされています。

前提条件

  • ソースおよびデスティネーションとして使用するデータソースが構成されていること。

    この例では、DataWorks コンソールの管理センターの [データソース] ページで、MySQL データソースと Hive データソースを追加する必要があります。追加したデータソースの同期機能については、MySQL データソース および Hive データソース をご参照ください。

  • Data Integration 専用リソースグループが購入され、DataWorks ワークスペースに関連付けられており、リソースグループとデータソース間のネットワーク接続が確立されていること。

    この例では、Data Integration 専用リソースグループのみがサポートされています。 Data Integration 専用リソースグループを購入して構成し、リソースグループと MySQL および Hive データソース間のネットワーク接続を確立する必要があります。 Data Integration 専用リソースグループの購入および構成方法については、Data Integration 専用リソースグループの作成と使用 をご参照ください。

同期タスクの作成

  1. DataWorks コンソールにログインし、[Data Integration] ページに移動します。 Data Integration ページの左側のナビゲーションペインで、[同期タスク] をクリックします。 [同期タスク] ページで、[ソース] ドロップダウンリストから [MySQL] を選択し、[デスティネーション] ドロップダウンリストから [Hive] を選択し、[同期タスクの作成] をクリックします。

  2. 同期タスクの基本情報を構成します。

    1. ソースとデスティネーション: ソースタイプとして [mysql] を選択し、デスティネーションタイプとして [hive] を選択します。

    2. 新規ノード名: ビジネス要件に基づいて同期タスクの名前を指定します。

    3. 同期方法: [データベース全体のオフライン同期] を選択します。

    4. 同期モード:

      • 全データのワンタイム同期または定期同期を実行する場合は、このパラメーターに [フル初期化] を選択します。

      • 増分データのワンタイム同期または定期同期を実行する場合は、このパラメーターに [増分同期] を選択します。

      • 全データのワンタイム同期と増分データの定期同期を実行する場合は、このパラメーターに [フル初期化][増分同期] を選択します。

    5. ネットワークとリソースの構成: このセクションで、準備した MySQL データソース、Hive データソース、および Data Integration 専用リソースグループを選択します。次に、[接続テスト] をクリックして、Data Integration 専用リソースグループとデータソース間のネットワーク接続をテストします。

  3. 同期タスクに固有の情報を構成します。

    1. 画面の指示に従って、データを読み取る MySQL テーブルを選択します。正規表現を使用して、目的のテーブルを名前で検索できます。

    2. デスティネーション Hive データベースのプロパティを構成します。デスティネーショテーブル用に構成するプロパティは、システムによって自動的に作成されるデスティネーショテーブルのスキーマに影響しますが、既存のデスティネーショテーブルのスキーマには影響しません。

      • 新規作成テーブルのストレージタイプ: 自動的に作成されるデスティネーション Hive テーブルのストレージ方法。有効な値: [内部テーブル] および [外部テーブル]

      • 新規作成テーブルのフォーマット: 自動的に作成されるデスティネーション Hive テーブルのフォーマット。有効な値: [parquet][orc]、および [txt]

      • 書き込みモード: 書き込みモード。有効な値: 既存のデータを削除して新しいデータを読み込む および 既存のデータを保持して新しいデータを読み込む。

      • パーティション初期化構成: 自動的に作成されるデスティネーション Hive テーブルのパーティションの初期化結果。デフォルトでは、レベル 1 パーティションのみが使用可能です。構成アイコンをクリックして、初期化結果を変更できます。

    3. [フル同期と増分同期の構成] セクションのパラメーターを構成します。

      1. 同期タスクの同期モードを構成します。

        • デフォルトでは、[フル初期化][増分同期][同期モード] パラメーターに選択した場合、このセクションの [フル同期] パラメーターには [ワンタイム同期] が選択され、[増分同期の方法] パラメーターには [定期同期] が選択されます。設定を変更することはできません。

        • [フル初期化][同期モード] パラメーターに選択した場合、[フル同期] パラメーターに [ワンタイム同期] または [定期同期] を選択できます。

        • [増分同期][同期モード] パラメーターに選択した場合、[増分同期の方法] パラメーターに [ワンタイム同期] または [定期同期] を選択できます。

          説明

          この例では、全データのワンタイム同期と増分データの定期同期の同期モードが使用されます。

      2. 同期タスクの定期スケジューリングのパラメーターを構成します。

        同期タスクを定期的にスケジュールする場合は、[定期スケジューリングのスケジューリングパラメーターの構成] をクリックして、定期スケジューリングのパラメーターを構成できます。

  4. [デスティネーショテーブルのマッピングルール] セクションのパラメーターを構成します。

    1. [デスティネーショテーブルのマッピングルール] セクションのすべてのテーブルを選択し、[マッピング結果のバッチ更新] をクリックして、テーブルマッピングを更新します。

    2. 画面の指示に基づいて、[増分同期の条件][スケジューリング構成] などのパラメーターを構成します。

      • テーブルレベルの定期スケジューリングパラメーターと増分同期の条件の構成: ビジネス要件に基づいて、複数のテーブルの設定と単一テーブルの設定を同時に変更できます。

        image.png

        • 増分同期の条件: ソースのデータをフィルタリングする WHERE 句を指定します。句に WHERE キーワードを含める必要はありません。定期スケジューリングの設定が有効になっている場合は、システムパラメーター変数を使用できます。例:

          STR_TO_DATE('${bizdate}', '%Y-%m-%d') <= columnName AND columnName < DATE_ADD(STR_TO_DATE('${bizdate}', '%Y-%m-%d'), interval 1 day)

          ${bizdate} は、構成したスケジューリングパラメーターです。

      • パーティションフィールドへの値の割り当て: [値の割り当て][バッチ変更] ドロップダウンリストから選択して、パーティションフィールドに値を割り当てることができます。

        image.png

        image.png

      • [デスティネーショテーブル名のマッピングルールのカスタマイズ] および [カスタム詳細パラメーター] パラメーターを構成します。

        • デスティネーショテーブル名のマッピングルールのカスタマイズ: 組み込み変数と手動で入力した文字列を使用して、最終的なデスティネーショテーブル名を連結できます。

        • カスタム詳細パラメーター: 各テーブルの詳細パラメーター (各テーブルからデータを読み取るために使用できる並列スレッドの最大数など) を構成できます。

  5. [完了] をクリックします。

同期タスクの O&M 操作の実行

同期タスクの開始

同期タスクの構成が完了すると、[同期タスク] ページの [タスク] セクションに移動します。同期タスクを見つけて、[操作] 列の [開始] をクリックして、同期タスクを開始できます。

同期タスクの詳細の表示

同期タスクの名前をクリックして、タスクの詳細を表示できます。タスクの詳細には、次の部分が含まれます。

  • 基本情報: 同期タスクのデータソース情報、同期タスクの実行に使用されるリソースグループ、および同期タスクタイプが含まれます。

  • 実行ステータス: 同期タスクが細分化された後の同期手順の詳細。

    • [同期モード] パラメーターに [フル初期化] を選択した場合、[スキーママイグレーション] セクションと [フルデータ同期] セクションが表示されます。

    • [同期モード] パラメーターに [増分同期] を選択した場合、[スキーママイグレーション] セクションと [増分同期] セクションが表示されます。

    • [同期モード] パラメーターに [フル初期化] と [増分同期] を選択した場合、[スキーママイグレーション] セクション、[フルデータ同期] セクション、および [増分同期] セクションが表示されます。

  • 詳細: [スキーママイグレーション]、[フルデータ同期]、および [増分同期] セクションのパラメーター構成に基づいて実行される手順。

    image.png

タスクの再実行

  • タスクを直接再実行する: [タスク] セクションで同期タスクを見つけ、[操作] 列の [その他] をクリックし、[再実行] を選択して、タスク構成を変更せずにタスクを再実行します。

    効果: ワンタイムサブタスクが再実行され、定期サブタスクのプロパティが更新されます。

  • タスクを変更して再実行する: [タスク] セクションで同期タスクを見つけ、タスクにテーブルを追加または削除し、[完了] をクリックします。この場合、[タスク] セクションの [操作] 列の [再実行] が [更新の適用] に変更されます。 [更新の適用] をクリックして、変更されたタスクを再実行します。

    効果: 追加したテーブルのデータが同期され、データが同期されたテーブルのデータは再度同期されません。

  • タスクを変更して再実行する: デスティネーション Hive テーブルの名前を変更するか、他の Hive テーブルをデータ同期に使用し、[完了] をクリックします。この場合、[タスク] セクションの [操作] 列の [再実行] が [更新の適用] に変更されます。 [更新の適用] をクリックして、変更されたタスクを再実行します。

    効果: 変更したデスティネーション Hive テーブルにデータが同期されます。変更していないデスティネーション Hive テーブルにはデータは同期されません。

データ開発シナリオ

スケジューリング依存関係構成ガイド を参照して、データ開発要件を満たすように同期タスクのスケジューリング依存関係を構成できます。定期的にスケジュールされたサブタスクに関する情報は、[スケジューリング構成] セクションで表示できます。

image.png

image.png