前のページ|次のページ

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

スケジュール機能の動作

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

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

すでにスケジュール済みのデータクエリを編集する場合、スケジュールボタンを再度クリックして、そのデータクエリ用の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サーバーが含まれています。このサーバーを使用するには、スケジュールサーバーを変更します。デフォルト名はPlatform Process Managerになります。
あらゆるケースにおいて、新しいデータクエリをスケジュールすると、Data Builderは現在のスケジュールサーバーを取り出し、その値を使用してSASメタデータ内にあるスケジュールサーバーを検索します。Data Builderは、SASメタデータ内の値に一致する最初のサーバーを使用します。Operating System Services — hostname.example.comのようなホスト名を含めることで、ユーザーが指定した正しいサーバーをSAS Visual Data Builderが使用していることを確認できます。

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

デフォルトでは、お使いの配備システムには、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は最初に戻されたアプリケーションサーバーを使用します。サーバーの決定後、Data Builderは、お使いのスケジュールサーバープリファレンス設定に一致するサーバーコンテキストで配備ディレクトリを検索します。一致する配備ディレクトリが見つからない場合、Data Builderは最初に戻された配備ディレクトリを使用します。
ユーザーは、デフォルト配置ディレクトリに対して異なる名前を指定できます。配置ディレクトリやSAS管理コンソールのスケジュールマネージャプラグインの使用に関する詳細は、Scheduling in SASを参照してください。

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

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