DataWorks の PostgreSQL ノードを使用すると、PostgreSQL タスクを開発し、定期的にスケジューリングし、他のジョブと統合できます。このトピックでは、PostgreSQL タスクを開発するためのワークフローについて説明します。
背景情報
PostgreSQL は、強力で柔軟なオープンソースのリレーショナルデータベース管理システム (RDBMS) です。堅牢なデータモデル、高いスケーラビリティと安定性、豊富なコア機能を特徴としています。詳細については、PostgreSQL をご参照ください。
前提条件
-
ビジネスプロセスが作成されていること。
Data Studio は、ビジネスフローに基づいてエンジン固有の開発操作を実行します。ノードを作成する前に、まずビジネスフローを作成する必要があります。詳細については、「ビジネスフローの作成」をご参照ください。
-
PostgreSQL データソースが作成されていること。
データベース内のデータにアクセスする前に、まず PostgreSQL データベースを DataWorks の PostgreSQL データソースとして追加する必要があります。詳細については、「PostgreSQL データソース」をご参照ください。
説明PostgreSQL ノードは、JDBC 接続文字列で作成された PostgreSQL データソースのみをサポートします。
-
(オプション。Resource Access Management (RAM) ユーザーに必須) タスク開発に使用する RAM ユーザーがターゲットワークスペースに追加され、Developmentロールまたは スペースマネージャーロール (広範な権限を付与するため、慎重に割り当ててください) のいずれかが割り当てられていること。メンバーの追加と権限の付与の詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
制限事項
この機能は、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深セン)、中国 (成都)、中国 (香港)、シンガポール、マレーシア (クアラルンプール)、ドイツ (フランクフルト)、米国 (シリコンバレー)、および米国 (バージニア) の各リージョンで利用できます。
ステップ 1: PostgreSQL ノードの作成
DataWorks コンソールにログインします。 対象のリージョンで、左側のナビゲーションウィンドウのをクリックします。 ドロップダウンリストからワークスペースを選択し、入力 データ開発をクリックします。
-
ターゲットのワークフローを右クリックし、 を選択します。
-
Create Node ダイアログボックスで、ノードの Name を入力し、OK をクリックします。ノードが作成されると、ノードのエディターでタスクを開発および設定できます。
ステップ 2: PostgreSQL タスクの開発
(オプション) PostgreSQL データソースの選択
お使いのワークスペースに複数の PostgreSQL データソースがある場合は、ノードエディターページで必要なデータソースを選択します。データソースが 1 つしかない場合、DataWorks はデフォルトでそれを使用します。
PostgreSQL ノードは、JDBC 接続文字列で作成された PostgreSQL データソースのみをサポートします。
SQL コードの開発: 簡単な例
PostgreSQL ノードのコードエディターで、タスクの SQL スクリプトを記述します。次の例は、PostgreSQL データベース内のすべてのベーステーブルに関する情報をクエリする方法を示しています:
SELECT * FROM information_schema.tables
WHERE table_type = 'BASE TABLE';
SQL コードの開発: スケジューリングパラメーターの使用
DataWorks は Scheduling Parameter を提供し、スケジュールされたジョブでコードに動的に値を渡すことができます。タスクコード内で ${variable_name} 形式を使用して変数を定義できます。次に、ノードエディターの右側のペインで、Scheduling Settings > Scheduling Parameter に移動して、各変数に値を割り当てます。サポートされているフォーマットと設定の詳細については、「スケジューリングパラメーターのフォーマット」および「スケジューリングパラメーターの設定と使用」をご参照ください。
例: データベース内のすべてのベーステーブルに関する情報のクエリ。パラメーター a の値を BASE_TABLE に設定します。
サンプルコード:
SELECT * FROM information_schema.tables
WHERE table_type = '${a}';
ステップ 3: タスクのスケジューリング設定
ノードタスクを定期的に実行するには、ノード編集ページの右側にある Scheduling をクリックし、必要に応じてスケジューリング設定を行います。詳細については、「タスクスケジューリングプロパティの概要」をご参照ください。
ノードを送信する前に、ノードの Rerun attribute と Parent Nodes を設定する必要があります。
ステップ 4: タスクコードのテスト
タスクが期待どおりに動作することを確認するために、必要に応じて以下のテスト操作を実行します。
-
(オプション) リソースグループを選択し、カスタムパラメーター値を割り当てます。
-
ツールバーの
アイコンをクリックします。Parameter ダイアログボックスで、テスト用のスケジュールリソースグループを選択します。 -
タスクコードでスケジューリングパラメーター変数を使用している場合は、ここでテスト用の値を割り当てます。パラメーターの割り当てロジックの詳細については、「タスクのデバッグプロセス」をご参照ください。
-
-
タスクコードを保存して実行します。
ツールバーの
アイコンをクリックしてタスクコードを保存します。次に、
アイコンをクリックしてタスクを実行します。 -
(オプション) スモークテストを実行します。
開発環境でスモークテストを実行し、スケジュールされたノードタスクが期待どおりに実行されることを確認するには、ノードの送信中または送信後にスモークテストを実行します。詳細については、「スモークテストの実行」をご参照ください。
ステップ 5: タスクの送信と公開
ノードタスクを設定した後、送信して公開します。公開されると、ノードはそのスケジューリング設定に基づいて定期的に実行されます。
-
ツールバーの
アイコンをクリックしてノードを保存します。 -
ツールバーの
アイコンをクリックしてノードタスクを送信します。Submission ダイアログボックスで、Change Description を入力します。オプションで、送信後にコードレビューを必須にするかどうかを選択します。
説明-
ノードを送信する前に、ノードの Rerun attribute と Parent Nodes を設定する必要があります。
-
コードレビューは、コードの品質を確保し、レビューされていないコードが直接本番環境に公開されることによるエラーを防ぐのに役立ちます。コードレビューが有効になっている場合、送信されたノードコードは、公開される前にレビュー担当者によって承認される必要があります。詳細については、「コードレビュー」をご参照ください。
-
標準モードのワークスペースを使用している場合、タスクの送信が成功した後、ノード編集ページの右上隅にある [公開] をクリックして、タスクを本番環境にデプロイします。詳細については、「タスクの公開」をご参照ください。
次のステップ
タスク操作: タスクがコミットされ公開されると、ノードの設定に基づいて定期的に実行されます。ノード編集ページの右上隅にある O&M をクリックしてオペレーションセンターに移動し、定期タスクのスケジューリングと実行ステータスを表示できます。詳細については、「定期タスクの管理」をご参照ください。