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