このトピックでは、オフラインモードで MySQL データベースから Hive にデータを同期する方法について説明します。
制限事項
この例では、Data Integration 専用リソースグループのみがサポートされています。
前提条件
ソースおよびデスティネーションとして使用するデータソースが構成されていること。
この例では、DataWorks コンソールの管理センターの [データソース] ページで、MySQL データソースと Hive データソースを追加する必要があります。追加したデータソースの同期機能については、MySQL データソース および Hive データソース をご参照ください。
Data Integration 専用リソースグループが購入され、DataWorks ワークスペースに関連付けられており、リソースグループとデータソース間のネットワーク接続が確立されていること。
この例では、Data Integration 専用リソースグループのみがサポートされています。 Data Integration 専用リソースグループを購入して構成し、リソースグループと MySQL および Hive データソース間のネットワーク接続を確立する必要があります。 Data Integration 専用リソースグループの購入および構成方法については、Data Integration 専用リソースグループの作成と使用 をご参照ください。
同期タスクの作成
DataWorks コンソールにログインし、[Data Integration] ページに移動します。 Data Integration ページの左側のナビゲーションペインで、[同期タスク] をクリックします。 [同期タスク] ページで、[ソース] ドロップダウンリストから [MySQL] を選択し、[デスティネーション] ドロップダウンリストから [Hive] を選択し、[同期タスクの作成] をクリックします。
同期タスクの基本情報を構成します。
ソースとデスティネーション: ソースタイプとして [mysql] を選択し、デスティネーションタイプとして [hive] を選択します。
新規ノード名: ビジネス要件に基づいて同期タスクの名前を指定します。
同期方法: [データベース全体のオフライン同期] を選択します。
同期モード:
全データのワンタイム同期または定期同期を実行する場合は、このパラメーターに [フル初期化] を選択します。
増分データのワンタイム同期または定期同期を実行する場合は、このパラメーターに [増分同期] を選択します。
全データのワンタイム同期と増分データの定期同期を実行する場合は、このパラメーターに [フル初期化] と [増分同期] を選択します。
ネットワークとリソースの構成: このセクションで、準備した MySQL データソース、Hive データソース、および Data Integration 専用リソースグループを選択します。次に、[接続テスト] をクリックして、Data Integration 専用リソースグループとデータソース間のネットワーク接続をテストします。
同期タスクに固有の情報を構成します。
画面の指示に従って、データを読み取る MySQL テーブルを選択します。正規表現を使用して、目的のテーブルを名前で検索できます。
デスティネーション Hive データベースのプロパティを構成します。デスティネーショテーブル用に構成するプロパティは、システムによって自動的に作成されるデスティネーショテーブルのスキーマに影響しますが、既存のデスティネーショテーブルのスキーマには影響しません。
新規作成テーブルのストレージタイプ: 自動的に作成されるデスティネーション Hive テーブルのストレージ方法。有効な値: [内部テーブル] および [外部テーブル]。
新規作成テーブルのフォーマット: 自動的に作成されるデスティネーション Hive テーブルのフォーマット。有効な値: [parquet]、[orc]、および [txt]。
書き込みモード: 書き込みモード。有効な値: 既存のデータを削除して新しいデータを読み込む および 既存のデータを保持して新しいデータを読み込む。
パーティション初期化構成: 自動的に作成されるデスティネーション Hive テーブルのパーティションの初期化結果。デフォルトでは、レベル 1 パーティションのみが使用可能です。構成アイコンをクリックして、初期化結果を変更できます。
[フル同期と増分同期の構成] セクションのパラメーターを構成します。
同期タスクの同期モードを構成します。
デフォルトでは、[フル初期化] と [増分同期] を [同期モード] パラメーターに選択した場合、このセクションの [フル同期] パラメーターには [ワンタイム同期] が選択され、[増分同期の方法] パラメーターには [定期同期] が選択されます。設定を変更することはできません。
[フル初期化] を [同期モード] パラメーターに選択した場合、[フル同期] パラメーターに [ワンタイム同期] または [定期同期] を選択できます。
[増分同期] を [同期モード] パラメーターに選択した場合、[増分同期の方法] パラメーターに [ワンタイム同期] または [定期同期] を選択できます。
説明この例では、全データのワンタイム同期と増分データの定期同期の同期モードが使用されます。
同期タスクの定期スケジューリングのパラメーターを構成します。
同期タスクを定期的にスケジュールする場合は、[定期スケジューリングのスケジューリングパラメーターの構成] をクリックして、定期スケジューリングのパラメーターを構成できます。
[デスティネーショテーブルのマッピングルール] セクションのパラメーターを構成します。
[デスティネーショテーブルのマッピングルール] セクションのすべてのテーブルを選択し、[マッピング結果のバッチ更新] をクリックして、テーブルマッピングを更新します。
画面の指示に基づいて、[増分同期の条件] や [スケジューリング構成] などのパラメーターを構成します。
テーブルレベルの定期スケジューリングパラメーターと増分同期の条件の構成: ビジネス要件に基づいて、複数のテーブルの設定と単一テーブルの設定を同時に変更できます。
増分同期の条件: ソースのデータをフィルタリングする 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}
は、構成したスケジューリングパラメーターです。
パーティションフィールドへの値の割り当て: [値の割り当て] を [バッチ変更] ドロップダウンリストから選択して、パーティションフィールドに値を割り当てることができます。
[デスティネーショテーブル名のマッピングルールのカスタマイズ] および [カスタム詳細パラメーター] パラメーターを構成します。
デスティネーショテーブル名のマッピングルールのカスタマイズ: 組み込み変数と手動で入力した文字列を使用して、最終的なデスティネーショテーブル名を連結できます。
カスタム詳細パラメーター: 各テーブルの詳細パラメーター (各テーブルからデータを読み取るために使用できる並列スレッドの最大数など) を構成できます。
[完了] をクリックします。
同期タスクの O&M 操作の実行
同期タスクの開始
同期タスクの構成が完了すると、[同期タスク] ページの [タスク] セクションに移動します。同期タスクを見つけて、[操作] 列の [開始] をクリックして、同期タスクを開始できます。
同期タスクの詳細の表示
同期タスクの名前をクリックして、タスクの詳細を表示できます。タスクの詳細には、次の部分が含まれます。
基本情報: 同期タスクのデータソース情報、同期タスクの実行に使用されるリソースグループ、および同期タスクタイプが含まれます。
実行ステータス: 同期タスクが細分化された後の同期手順の詳細。
[同期モード] パラメーターに [フル初期化] を選択した場合、[スキーママイグレーション] セクションと [フルデータ同期] セクションが表示されます。
[同期モード] パラメーターに [増分同期] を選択した場合、[スキーママイグレーション] セクションと [増分同期] セクションが表示されます。
[同期モード] パラメーターに [フル初期化] と [増分同期] を選択した場合、[スキーママイグレーション] セクション、[フルデータ同期] セクション、および [増分同期] セクションが表示されます。
詳細: [スキーママイグレーション]、[フルデータ同期]、および [増分同期] セクションのパラメーター構成に基づいて実行される手順。
タスクの再実行
タスクを直接再実行する: [タスク] セクションで同期タスクを見つけ、[操作] 列の [その他] をクリックし、[再実行] を選択して、タスク構成を変更せずにタスクを再実行します。
効果: ワンタイムサブタスクが再実行され、定期サブタスクのプロパティが更新されます。
タスクを変更して再実行する: [タスク] セクションで同期タスクを見つけ、タスクにテーブルを追加または削除し、[完了] をクリックします。この場合、[タスク] セクションの [操作] 列の [再実行] が [更新の適用] に変更されます。 [更新の適用] をクリックして、変更されたタスクを再実行します。
効果: 追加したテーブルのデータが同期され、データが同期されたテーブルのデータは再度同期されません。
タスクを変更して再実行する: デスティネーション Hive テーブルの名前を変更するか、他の Hive テーブルをデータ同期に使用し、[完了] をクリックします。この場合、[タスク] セクションの [操作] 列の [再実行] が [更新の適用] に変更されます。 [更新の適用] をクリックして、変更されたタスクを再実行します。
効果: 変更したデスティネーション Hive テーブルにデータが同期されます。変更していないデスティネーション Hive テーブルにはデータは同期されません。
データ開発シナリオ
スケジューリング依存関係構成ガイド を参照して、データ開発要件を満たすように同期タスクのスケジューリング依存関係を構成できます。定期的にスケジュールされたサブタスクに関する情報は、[スケジューリング構成] セクションで表示できます。