ノードのコードを開発した後、実行、パラメーター付き実行、クイック実行などの機能を使用してスクリプトまたはコードスニペットをデバッグできます。デバッグが完了したら、結果を確認できます。本トピックでは、DataWorks におけるノードおよびワークフローのデバッグ方法について説明します。
前提条件
ノードが開発済みであること。詳細については、「Data Studio」をご参照ください。
背景情報
シングルノードのデバッグまたはワークフローのデバッグを選択できます。実行が完了すると、操作履歴で結果を確認するか、アドホッククエリ機能を使用して結果を確認し、クエリ結果を処理できます。
シングルノードまたはワークフローをデバッグする際、DataWorks のスケジューリングリソースは課金されませんが、使用するコンピュートエンジンには課金されます。コンピュートエンジンの料金に関する詳細は、各エンジンの課金ドキュメントをご参照ください。
クエリアクセラレーションを使用するクエリの最大実行時間は 1 時間です。
シングルノードのデバッグ
Data Studio ページに移動します。データ開発または手動トリガーワークフローの下にある左側ナビゲーションウィンドウで対象のワークフローを見つけ、編集したいノードをダブルクリックします。
ノードを実行してデバッグします。
ノードのエディタータブで、ツールバーの 実行 または パラメーター付き実行 を使用してコードロジックをデバッグできます。また、クイック実行 を使用してコードスニペットをデバッグすることも可能です。以下の表に各オプションの説明を示します。
説明ノードを実行する際にクエリしたいデータに対する権限がない場合は、「コンピュートエンジンおよびデータの権限管理の概要」をご参照のうえ、DataWorks における各種コンピュートエンジンの権限制御についてご確認ください。
実行オプション
説明
利用シーン
実行 (
アイコン)このオプションでは、変数に値を割り当てたり、テスト用のリソースグループを指定したりできます。これらの設定は今後の実行のために保存されます。
説明新しく作成したノードを初めて実行する際は、構成ダイアログが表示されます。コード内の変数に定数値を手動で割り当てる必要があります。DataWorks は割り当てた値を保存します。次回以降ノードを実行する際は、保存された構成がデフォルトで使用されます。
コードを頻繁にデバッグする必要がある場合に使用します。
パラメーター付き実行 (
アイコン)ノードを実行するたびに、テストシナリオ用の変数に定数値を割り当て、リソースグループを指定する必要があります。
コード内の変数に割り当てる値やタスクで使用するリソースグループを変更する必要がある場合に使用します。
クイック実行 (
アイコン)このオプションでは、ノードのエディタータブ上のコードエリアにあるコードスニペットをデバッグできます。
ノード内のコードスニペットのみをデバッグする必要がある場合に使用します。
説明この機能はコードスニペットの正確性をデバッグするためだけに使用されます。完全なコードロジックをデバッグするには、実行 または パラメーター付き実行 を使用してください。
ワークフローのデバッグ
Data Studio ページに移動します。データ開発または手動トリガーワークフローの下にある左側ナビゲーションウィンドウで対象のワークフローをダブルクリックし、ワークフローパネルを開きます。
ワークフローをデバッグします。
ワークフローパネルのツールバーにある実行 (
アイコン) ボタンをクリックすると、依存関係に基づいてワークフロー内のすべてのタスクが順次実行されます。また、ワークフローパネル内のノードを右クリックし、ノードとダウンストリームノードの実行 を選択することで、選択したノードとそのダウンストリームノードを依存関係に基づいて実行することもできます。
ツールバーからの実行と右クリックによる「ノードとダウンストリームノードの実行」は動作が異なります。
ツールバーからの実行:ワークフローの完全な DAG に基づき、アップストリームからダウンストリームへとすべてのノードを順次実行します。各ノードは個別に実行サブミットされ、エディタータブから個別に実行するのと同等です。
右クリックによる「ノードとダウンストリームノードの実行」:選択したノードから開始し、依存関係スケジューリングロジックを適用してノードとそのダウンストリームノードを実行します。このオプションではアップストリームノードの実行ステータスと出力データが検証される点で、エディタータブから直接ノードを実行する(スタンドアロンデバッグモード)場合とは異なります。
「ノードとダウンストリームノードの実行」を使用した際にエラーが発生しても、同じ SQL がノードのエディタータブから正常に実行される場合があります。これは、右クリック実行では依存関係スケジューリングロジックによりアップストリームノードの実行ステータスと出力データが検証されるのに対し、直接実行では現在のノードの SQL コードのみが実行されるためです。以下のように問題をトラブルシューティングできます。
アップストリームノードの実行ステータスを確認します。右クリック実行ではアップストリーム依存関係が検証されます。アップストリームノードが未実行または失敗している場合、現在のノードでエラーが報告されます。ワークフローパネル内のアップストリームノードの実行ステータスアイコンを確認し、すべてのアップストリームノードが正常に実行されていることを確認してください。
ノード間の依存関係構成を確認します。ノード間の入出力パラメーターの受け渡しが正しく行われていること、およびスケジューリングパラメーターの割り当てが期待通りであることを検証します。ノードのスケジュール設定ページで、アップストリームの出力テーブルが現在のノードの入力テーブルと一致しているかを確認してください。
エラーが報告されたノードを右クリックし、ランタイムログを表示するオプションを選択して、具体的なエラーメッセージを特定します。ログ内のエラーには通常、テーブルが存在しない、権限が不十分、構文エラーなどの具体的な原因が含まれています。
SQL コード内のコメント構文の問題を確認します。一部のエンジンでは、スケジューリングモードと直接実行モードでコメントの解析方法が異なるため、構文エラーが発生することがあります。トラブルシューティングのため、SQL コードからブロックコメント (
/* */) を削除し、行コメント (--) のみを残してエラーが再現するかを確認してください。アップストリームノードの出力データが準備できているかを確認します。右クリック実行では、アップストリームノードによって生成されたデータテーブルを入力として使用します。アップストリームノードが正常に実行されていても、その出力データがまだ準備されていない、またはクリーンアップされている場合、現在のノードは入力テーブルを読み取れずエラーを報告します。
説明手動トリガーワークフロー内の複数のノードに同名の変数が存在し、それらを一括で割り当て可能な場合は、ワークフローパネルでワークフローパラメーターを定義し、パラメーターに値を割り当てることができます。その後、ワークフローを実行してマニュアルタスクの割り当て結果と実行ステータスを確認できます。
ワークフローパラメーターをサポートするのは一部のノードタイプのみです。詳細は実際のインターフェイスをご確認ください。
実行が完了したら、ワークフローパネル内のノードを右クリックしてそのノードのランタイムログを表示できます。
操作履歴の確認
Data Studio の操作履歴ページに移動すると、過去 3 日間に現在のログインアカウントが Data Studio で実行したすべてのタスクレコードを確認できます。
Data Studio でタスクを実行すると、対応するエンジンに実行がサブミットされます。実行中に誤ってタスクを閉じても、タスクはバックグラウンドで継続して実行されます。操作履歴ページに移動してランタイムログを確認するか、すでに実行サブミットされたタスクを停止できます。
アドホッククエリファイルの作成
Data Studio(開発環境)でデータのクエリや SQL コードのテストを行い、実際の結果が期待値と一致するか、またはコードの正確性を検証するだけで、データや SQL コードを本番環境にデプロイしない場合は、アドホッククエリファイルを作成できます。
ノードを実行する際にクエリしたいデータに対する権限がない場合は、「コンピュートエンジンおよびデータの権限管理の概要」をご参照のうえ、DataWorks における各種コンピュートエンジンの権限制御についてご確認ください。
クエリ結果の処理
SQL コードが正常に実行された後、クエリ結果に対して以下の操作を実行できます。
操作 | 説明 | 参考資料 |
データの分析 | クエリ結果をスプレッドシートに同期し、より高度な分析操作を行います。 | |
データの共有 | クエリ結果をスプレッドシートに同期し、スプレッドシートのデータ共有機能を使用して指定ユーザーとデータを共有します。 | |
データのダウンロード | クエリ結果をスプレッドシートとしてローカルマシンにダウンロードします。デフォルトでは、最大 10,000 行のデータが表示されます。 |
テナント管理者、テナントセキュリティ管理者、またはワークスペース管理者ロールが割り当てられた RAM ユーザーは、クエリ結果設定の構成に移動して、表示行数、ダウンロード可能行数、およびダウンロードの許可/禁止を制御できます。権限付与の詳細については、「ロールへのアクセス権限付与」をご参照ください。
ダウンロード機能は DataWorks Standard Edition、Professional Edition、および Enterprise Edition でのみ利用可能です。この機能を使用するには、DataWorks を対応するエディションにスペックアップしてください。詳細については、「DataWorks エディション」をご参照ください。