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