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