前のページ|次のページ

データクエリのスケジュールについて

スケジュール機能の動作

ワークスペースでデータクエリを開いた後、スケジュールボタンクリックすると、そのデータクエリをスケジュールできます。データクエリのスケジュール時に、Data Builderは次の操作を実行します。
  1. データクエリ操作を実行するジョブを作成します。
  2. そのジョブから配置済みジョブを作成します。
  3. そのジョブを新しい配置フローに置きます。
  4. スケジュールサーバー上でフローをスケジュールします。
Data Builderを使用すると、指定の条件(たとえば、ただちに実行する、またはトリガ条件が満たされた場合に実行するなど)に基づいてデータクエリをスケジュールできます。
ジョブ、配置済みジョブ、配置済みフローはメタデータオブジェクトです。Data Builderは、これらのオブジェクトをデータクエリと同じメタデータフォルダに保存します。これらのメタデータオブジェクトには、次のパターンに従って名前が付けられます。
vdb_name_timestamp
注: データクエリ名に含まれている最大42文字までが名前として使用されます。
指定された条件が満たされると、データクエリは、スケジュールを行ったユーザーのユーザーIDで実行されます。これはOperating System Services Schedulerの動作です。

スケジュール済みのデータクエリの編集

すでにスケジュール済みのデータクエリを編集する場合、スケジュールボタンを再度クリックして、そのデータクエリ用のSASステートメントの再作成と保存を行う必要があります。それ以外の場合は、スケジュールの実行は続行されません。

スケジュール済みのデータクエリの停止

スケジュール済みのデータクエリを停止して実行されるのを防ぐためには、そのデータクエリに関連付けられているトリガを削除する必要があります。関連付けられたトリガを削除してスケジュール済みのデータクエリを停止するには、次の手順に従います。
  1. 編集したいデータクエリを開きます。
  2. ワークスペースで、スケジュールボタンをクリックしてスケジュールウィンドウを開きます。
  3. 削除するトリガを選択して、削除をクリックします。
  4. リスト内にある最後のトリガを削除した場合、続行するためには次のステップのいずれかを実行する必要があります。
    • 時間イベントの新規作成をクリックして新規トリガを作成します。
    • 即時実行を選択して、クエリをただちに実行します。
  5. OKをクリックします。
  6. ワークスペースで、保存ボタンをクリックして保存します。
  7. 実行をクリックして、実行します。
注: すべてのトリガを削除して即時実行を選択すると、スケジュール済みのデータクエリは実行されなくなりますが、SAS管理コンソールに存在します。スケジュール済みデータクエリを永久に削除するには、SAS管理コンソールを使用する必要があります。詳細については、Scheduling in SASのジョブとフローの削除トピックを参照してください。

即時実行するデータクエリをスケジュールする場合の注意点

データクエリをスケジュールする場合、そのデータクエリを即時実行するという選択肢もあります。スケジュールウィンドウで即時実行を選択します。
次の手順を実施すると、結果としてエラー状態が発生します。
  1. SASデータセットを、データクエリの出力テーブルに使用します。
  2. データクエリを実行します。
  3. 結果タブをクリックして出力を調べます。
  4. 即時実行を選択してデータクエリをスケジュールします。
上記のステップを実行するとエラーが発生します。これは、SASデータセットが読み取り用にオープンされると、SAS SystemはそのSASデータセットのロックを解除するためです。ステップ3を実行した時点で、出力テーブルがロックされ、他のプロセスはこの出力テーブルを上書きできなくなります。次のメッセージがSASログに出力されます。
Locked Error Message
ERROR: A lock is not available for OUTPUTTABLE.
ERROR: Lock held by process xxxx.
このようなエラーメッセージの発生を防止するには、次の操作を行います。データクエリを即時実行したい場合には、まずそのデータクエリを閉じ、再度それを開いた後で、そのデータクエリを即時実行するようスケジュールします。または、データクエリを将来実行するようにスケジュールし、そのデータクエリを閉じます。

スケジュールに関するプリファレンス

デフォルトスケジュールサーバー

デフォルトでは、お使いのSAS環境には、Operating System Services – hostname.example.comという名前のサーバーが含まれています。このサーバーはデフォルトサーバーとして使用されます。
SAS管理コンソールでサーバーマネージャプラグインを使用すると、お使いのSAS環境に含まれているスケジュールサーバーを特定できます。ユーザーは自分のアプリケーションプリファレンスとして、異なるスケジュールサーバーを指定できます。スケジュールサーバの変更後にスケジュールしたデータクエリはすべて、ユーザーが新たに指定したスケジュールサーバーを使用するように設定されます。
注: 分散インプロセススケジュールサーバーはサポートされていません。
一部のSAS環境には、Platform Suite for SAS Serverが含まれています。このサーバーを使用するには、スケジュールサーバーを変更します。デフォルト名はPlatform Process Managerです。
あらゆるケースにおいて、新しいデータクエリをスケジュールすると、Data Builderは現在のスケジュールサーバーを取り出し、その値を使用してSASメタデータ内にあるスケジュールサーバーを検索します。Data Builderは、SASメタデータ内の値に一致する最初のサーバーを使用します。Operating System Services – hostname.example.comのようなホスト名を含めることで、ユーザーが指定した正しいサーバーをSAS Visual Data Builderが使用していることを確認できます。

デフォルトバッチサーバー

デフォルトでは、お使いのSAS環境には、SASApp – SAS DATA Step Batch Serverという名前のサーバーが含まれています。このサーバーはデフォルトバッチサーバーとして使用されます。
ユーザーは自分のアプリケーションプリファレンスとして、異なるバッチサーバーを指定できます。デフォルトバッチサーバーを変更する場合、次の点に注意してください。
  • バッチサーバーは、ユーザーがアクセスできるSAS Application Serverのコンポーネントとして、メタデータ内に登録されている必要があります。
  • ユーザーは自分のプリファレンスにおいて、同じSAS Application Serverを自分のデフォルトアプリケーションサーバーとして指定する必要があります。
デフォルトスケジュールサーバーを使用する場合、ユーザーがデータクエリを初めてスケジュールすると、Data Builderはデフォルトバッチサーバープリファレンスの値を使用してSASメタデータ内にあるバッチサーバーを検索します。Data Builderは、SASメタデータ内の値に一致する最初のサーバーを使用します。
複数のサーバーコンテキストがあり、各コンテキストにそれ自身のバッチサーバーがある場合、使用するサーバーをプリファレンスに指定する必要があります。

デフォルト配置ディレクトリ

配置ディレクトリとはSASメタデータ内オブジェクトの1つであり、次のアイテムを表します。
  • 配置ディレクトリが関連付けられているSAS Application Serverの名前。デフォルト値はSASAppです。
  • 配置ディレクトリの名前。デフォルト値はBatch Jobsです。
  • 配置ディレクトリのパス。デフォルト値はSAS-config-dir/Lev1/SASApp/SASEnvironment/SASCode/Jobsです。
データクエリをスケジュールすると、そのデータクエリ用のSASステートメントがファイルに保存されます。このファイルは、配置ディレクトリに関連付けられているパスに保存されます。このファイルには、スケジュール機能の動作で説明されているものと同じパターンに従って名前が付けられます。
Data Builderは、お使いのスケジュールサーバーのプリファレンス設定を使用して、SAS Metadata Server上でSAS Application Serverを検索します。初期値はSASAppです。一致するサーバー名が見つからない場合、Data Builderは最初に戻されたアプリケーションサーバーを使用します。サーバーの決定後、データビルダは、お使いのスケジュールサーバープリファレンス設定に一致するサーバーコンテキストで配置ディレクトリを検索します。一致する配置ディレクトリが見つからない場合、データビルダは最初に戻された配置ディレクトリを使用します。
ユーザーは、デフォルト配置ディレクトリに対して異なる名前を指定できます。配置ディレクトリやSAS管理コンソールのスケジュールマネージャプラグインの使用に関する詳細は、Scheduling in SASを参照してください。

スケジューリングプリファレンスが使用される場合

ユーザーが変更したプリファレンスはすべて、次回データクエリを作成しそれをスケジュールする場合に使用されます。スケジュール済みの既存のデータクエリを編集した場合、スケジュールサーバー、バッチサーバー、配置ディレクトリに関する既存の設定は、この変更によってはアップデートされません。スケジュール済みの既存のデータクエリの設定を変更するには、SAS管理コンソールを使用して、そのデータクエリの配置済みジョブを再配置します。
前のページ|次のページ|ページの先頭へ
最終更新: 2019/12/17