DataWorks の DRDS ノードを使用すると、DRDS タスクを開発して定期的にスケジューリングしたり、他の種類のタスクと統合したりできます。 このトピックでは、DRDS ノードを使用してタスクを開発する方法を説明します。
背景情報
PolarDB for Xscale (PolarDB-X) (旧称 DRDS) は、分散データベースサービスです。 スケールアウト操作によって、リレーショナルデータベースを、大量のデータの保存とアクセスに対応した分散システムにアップグレードできます。 PolarDB-X は、MySQL などのリレーショナルデータベースの元の機能を維持します。 詳細については、「概要」をご参照ください。
前提条件
-
ビジネスフローが作成されている必要があります。
Data Studio では、ビジネスフローに基づいてエンジン固有の開発操作を実行します。ノードを作成する前に、まずビジネスフローを作成してください。詳細については、「ビジネスフローの作成」をご参照ください。
-
DRDS データソースが追加済みであること。
データソースを使用してデータベース内のデータにアクセスする前に、PolarDB-X データベースを DRDS データソースとして DataWorks に追加する必要があります。 データソースの追加方法の詳細については、「データソースの追加と管理」をご参照ください。 DataWorks での DRDS データソースの使用方法の詳細については、「DRDS (PolarDB-X 1.0) データソース」をご参照ください。
説明DRDS ノードは、Java Database Connectivity (JDBC) 接続文字列モードで DataWorks に追加された DRDS データソースからのみ作成できます。
-
データソースとリソースグループ間のネットワーク接続が確立済みであること。
使用するリソースグループに目的のデータソースが接続されていることを確認する必要があります。 ネットワーク接続の設定方法の詳細については、「リソースグループとデータソース間のネットワーク接続の確立」をご参照ください。
-
(オプション。RAM ユーザーの場合は必須) タスク開発に使用する RAM ユーザーがターゲットワークスペースに追加され、[開発者] または [ストレージ管理者] ロール (広範な権限を付与するため、慎重に割り当ててください) のいずれかが割り当てられている必要があります。メンバーの追加と権限の付与の詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
使用制限
このタイプのノードは、中国 (杭州)、中国 (上海)、中国 (北京)、、中国 (深圳)、中国 (成都)、中国 (香港)、シンガポール、マレーシア (クアラルンプール)、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア) の各リージョンでサポートされています。
ステップ 1: DRDS ノードの作成
DataStudioページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
-
対象のワークフローを右クリックし、 を選択します。
-
ノードの作成 ダイアログボックスで、ノードの 名前 を入力し、確認 をクリックします。 ノードを作成すると、ノードエディターでタスクを開発および設定できます。
ステップ 2: DRDS タスクの開発
(オプション) DRDS データソースの選択
ワークスペースに複数の DRDS データソースが追加されている場合は、ビジネス要件に基づいて、ノードの設定タブの上部にある [データソースの選択] ドロップダウンリストから 1 つを選択する必要があります。 ワークスペースに追加されている DRDS データソースが 1 つだけの場合は、その DRDS データソースがタスク開発に使用されます。
DRDS ノードは、Java Database Connectivity (JDBC) 接続文字列モードで DataWorks に追加された DRDS データソースからのみ作成できます。
SQL コードの開発: 簡単な例
DRDS ノードの設定タブのコードエディターで、タスクコードを記述します。 コード例:
SELECT * FROM usertablename;
SQL コードの開発: スケジューリングパラメーターの使用
DataWorks は、定期的なスケジューリングシナリオでコードに動的にパラメーターを渡すことができる [スケジューリングパラメータ] を提供します。 ノードタスクでは、${variable_name} 形式を使用してコード内で変数を定義できます。 次に、ノード編集ページの右側のナビゲーションバーにある [スケジューリングプロパティ] > スケジューリングパラメータ セクションで、変数に値を割り当てます。 サポートされている形式と設定の詳細については、「スケジューリングパラメーターでサポートされている形式」と「スケジューリングパラメーターの設定と使用」をご参照ください。
コード例:
SELECT '${var}'; -- 変数 var に特定のスケジューリングパラメーターを割り当てることができます。
ステップ 3: タスクスケジューリングの設定
ノードタスクを定期的に実行するには、ノード編集ページの右側にある [スケジューリング設定] をクリックし、必要に応じてスケジューリング設定を構成します。詳細については、「タスクスケジューリングプロパティの概要」をご参照ください。
ノードを送信する前に、ノードの [再実行プロパティ] と [依存する先祖ノード] を設定する必要があります。
ステップ 4: タスクコードのテスト
タスクが期待どおりに動作することを確認するために、必要に応じて次のテスト操作を実行します。
-
(オプション) リソースグループを選択し、カスタムパラメーター値を割り当てます。
-
ツールバーの
アイコンをクリックします。[パラメーター] ダイアログボックスで、テスト用のスケジュールリソースグループを選択します。 -
タスクコードでスケジューリングパラメーター変数を使用している場合は、ここでテスト用の値を割り当てます。パラメーター割り当てロジックの詳細については、「タスクデバッグプロセス」をご参照ください。
-
-
タスクコードを保存して実行します。
ツールバーの
アイコンをクリックしてタスクコードを保存します。次に、
アイコンをクリックしてタスクを実行します。 -
(オプション) スモークテストを実行します。
開発環境でスモークテストを実行し、スケジュールされたタスクが期待どおりに実行されることを確認するには、ノード送信中または送信後にスモークテストを実行します。詳細については、「スモークテストの実行」をご参照ください。
ステップ 5: タスクの送信とパブリッシュ
ノードタスクを設定したら、送信してパブリッシュします。パブリッシュされると、ノードはスケジューリング設定に基づいて定期的に実行されます。
-
ツールバーの
アイコンをクリックしてノードを保存します。 -
ツールバーの
アイコンをクリックしてノードタスクを送信します。[コミット] ダイアログボックスで、[変更内容] を入力します。必要に応じて、送信後にコードレビューを要求するかどうかを選択します。
説明-
ノードを送信する前に、ノードの [再実行プロパティ] と [依存する先祖ノード] を設定する必要があります。
-
コードレビューは、コード品質を確保し、レビューされていないコードが本番環境に直接パブリッシュされることによるエラーを防ぎます。コードレビューが有効になっている場合、送信されたノードコードは、パブリッシュする前にレビュー担当者の承認を受ける必要があります。詳細については、「コードレビュー」をご参照ください。
-
標準モードのワークスペースを使用している場合、タスクの送信に成功したら、ノード編集ページの右上隅にある [パブリッシュ] をクリックして、タスクを本番環境にデプロイします。詳細については、「タスクのパブリッシュ」をご参照ください。
次のステップ
タスク操作: タスクがコミットされ公開されると、ノードの設定に基づいて定期的に実行されます。ノード編集ページの右上隅にある 運用保守 をクリックしてオペレーションセンターに移動し、定期タスクのスケジューリングと実行ステータスを表示できます。詳細については、「定期タスクの管理」をご参照ください。