DataWorks は、KingbaseES タスクを開発および定期的にスケジュールし、KingbaseES タスクを他のタイプのタスクと統合するために使用できる KingbaseES ノードを提供します。このトピックでは、KingbaseES ノードを使用してタスクを開発する方法について説明します。
背景情報
KingbaseES は、大規模なリレーショナルデータベース管理システム(RDBMS)です。 SQL 標準をサポートし、大量のデータが処理され、高並行性と高可用性が要求されるエンタープライズレベルのシナリオに適しています。詳細については、KingbaseES 公式 Web サイトをご覧ください。
前提条件
ワークフローが作成されていること。
DataStudio では、さまざまなタイプの計算エンジンの開発操作がワークフローに基づいて実行されます。そのため、ノードを作成する前に、ワークフローを作成する必要があります。詳細については、「ワークフローの作成」をご参照ください。
KingbaseES データソースが追加されていること。
データベース内のデータにアクセスするためにデータソースを使用する前に、KingbaseES データベースを KingbaseES データソースとして DataWorks に追加する必要があります。データソースを追加する方法については、「データソースの追加と管理」をご参照ください。 DataWorks で KingbaseES データソースを使用する方法については、「KingbaseES データソース」をご参照ください。
説明Java Database Connectivity(JDBC)接続文字列モードで DataWorks に追加された KingbaseES データソースに基づいてのみ、KingbaseES ノードを作成できます。
データソースとリソースグループの間にネットワーク接続が確立されていること。
目的のデータソースが、使用するリソースグループに接続されていることを確認する必要があります。ネットワーク接続を構成する方法の詳細については、「リソースグループとデータソース間のネットワーク接続の確立」をご参照ください。
(RAM ユーザーを使用してタスクを開発する場合に必須)RAM ユーザーが DataWorks ワークスペースにメンバーとして追加され、[開発] ロールまたは [ワークスペース管理者] ロールが割り当てられていること。ワークスペース管理者ロールには、必要以上の権限があります。 ワークスペース管理者ロールを割り当てる場合は注意してください。メンバーを追加し、メンバーにロールを割り当てる方法の詳細については、「ワークスペースメンバーの追加とロールの割り当て」をご参照ください。
制限事項
このタイプのノードは、中国(杭州)、中国(上海)、中国(北京)、中国(深セン)、中国(成都)、中国(香港)、シンガポール、マレーシア(クアラルンプール)、ドイツ(フランクフルト)、米国(シリコンバレー)、および米国(バージニア)の各リージョンでサポートされています。
ステップ 1:KingbaseES ノードを作成する
DataStudio ページに移動します。
DataWorks コンソール にログオンします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションペインで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
DataStudio ページで、目的のワークフローを見つけ、ワークフロー名を右クリックして、 を選択します。
[ノードの作成] ダイアログボックスで、[名前] パラメーターを構成し、[確認] をクリックします。 その後、作成したノードを使用してタスクを開発および構成できます。
ステップ 2:KingbaseES タスクを開発する
(オプション)KingbaseES データソースを選択する
ワークスペースに複数の KingbaseES データソースが追加されている場合は、ビジネス要件に基づいて、ノードの構成タブの上部にある [データソースの選択] ドロップダウンリストから 1 つを選択する必要があります。 ワークスペースに KingbaseES データソースが 1 つだけ追加されている場合は、KingbaseES データソースを使用してタスクが開発されます。
Java Database Connectivity(JDBC)接続文字列モードで DataWorks に追加された KingbaseES データソースに基づいてのみ、KingbaseES ノードを作成できます。
SQL コードを開発する:簡単な例
KingbaseES ノードの構成タブにあるコードエディターで、タスクコードを記述します。サンプルコード:
SELECT * FROM usertablename; -- ユーザーテーブル名からすべてのカラムを選択します。
SQL コードを開発する:スケジューリングパラメーターを使用する
DataWorks は、定期的なスケジューリングシナリオでスケジューリングパラメーターの構成に基づいて、タスクのコードで値が動的に置き換えられるスケジューリングパラメーターを提供します。 ${Variable} 形式でタスクコードに変数を定義し、[プロパティ] タブの [スケジューリングパラメーター] セクションで変数に値を割り当てることができます。サポートされているスケジューリングパラメーターの形式とスケジューリングパラメーターの構成方法については、「スケジューリングパラメーターのサポートされている形式」および「スケジューリングパラメーターの構成と使用」をご参照ください。
サンプルコード:
SELECT '${var}'; -- 特定のスケジューリングパラメーターを var 変数に割り当てることができます。
ステップ 3:タスクスケジューリングプロパティを構成する
システムでノード上のタスクを定期的に実行する場合、ノードの構成タブの右側のナビゲーションペインにある [プロパティ] をクリックして、ビジネス要件に基づいてタスクスケジューリングプロパティを構成できます。詳細については、「スケジュール」をご参照ください。
タスクをコミットする前に、[プロパティ] タブで [再実行] パラメーターと [親ノード] パラメーターを構成する必要があります。
ステップ 4:タスクコードをデバッグする
次の操作を実行して、タスクがビジネス要件に基づいて期待どおりに構成されているかどうかを確認できます。
オプション。リソースグループを選択し、変数にカスタムパラメーターを割り当てます。
ノードの構成タブの上部ツールバーにある
アイコンをクリックします。 [パラメーター] ダイアログボックスで、タスクコードのデバッグと実行に使用するスケジューリング用のリソースグループを選択します。タスクコードでスケジューリングパラメーターを使用する場合は、デバッグのために、タスクコードの値として変数にスケジューリングパラメーターを割り当てます。スケジューリングパラメーターの値割り当てロジックの詳細については、「デバッグ手順」をご参照ください。
タスクコードを保存して実行します。
上部ツールバーで、
アイコンをクリックしてタスクコードを保存します。次に、
アイコンをクリックしてタスクコードを実行します。オプション。スモークテストを実行します。
ノードをコミットするとき、またはノードをコミットした後に、開発環境でノードのスモークテストを実行して、ノードが期待どおりに実行されるかどうかを確認できます。詳細については、「スモークテストの実行」をご参照ください。
ステップ 5:タスクをコミットしてデプロイする
ノード上のタスクが構成されたら、タスクをコミットしてデプロイする必要があります。タスクをコミットしてデプロイすると、システムはスケジューリング構成に基づいてタスクを定期的に実行します。
上部ツールバーの
アイコンをクリックして、タスクを保存します。上部ツールバーの
アイコンをクリックして、ノード上のタスクをコミットします。[送信] ダイアログボックスで、[変更の説明] パラメーターを構成します。次に、ビジネス要件に基づいて、タスクのコミット後にタスクコードを確認するかどうかを決定します。
説明タスクをコミットする前に、[プロパティ] タブで [再実行] パラメーターと [親ノード] パラメーターを構成する必要があります。
コードレビュー機能を使用して、タスクのコード品質を確保し、無効なタスクコードによって発生するタスク実行エラーを防ぐことができます。コードレビュー機能を有効にすると、コミットされたノードコードは、コードレビューに合格した後でのみデプロイできます。詳細については、「コードレビュー」をご参照ください。
標準モードのワークスペースを使用する場合は、タスクをコミットした後に、本番環境にタスクをデプロイする必要があります。ノード上のタスクをデプロイするには、ノードの構成タブの右上隅にある [デプロイ] をクリックします。詳細については、「タスクのデプロイ」をご参照ください。
次のステップ
タスク O&M:タスクをコミットしてデプロイすると、タスクはスケジューリング構成に基づいて定期的に実行されます。対応するノードの構成タブの右上隅にある [オペレーションセンター] をクリックしてオペレーションセンターに移動し、タスクのスケジューリングステータスを表示できます。詳細については、「自動トリガーされたタスクの表示と管理」をご参照ください。