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