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