2012年6月7日木曜日

パイプを使ったSASESOCKエンジン

UNIXでは良くあるPIPEですが、Windows環境でもSASESOCKというエンジンで使えます。あるのは知っていましたが、サンプルコードを動かしてみました。
サンプルを実行する前に、Servicesにポート番号を定義、OUTLIBのフォルダを作成する必要があります。サンプルでは、PIPE1という名前にしてあります。実行はDMSの画面から、サブミットするだけです。SPAWNER.EXEは起動していなくても動きます。

/* -----------  DATA Step - Process P1  ----- */
signon p1 sascmd='!sascmd';
rsubmit p1  wait=no;

libname outLib sasesock ":pipe1"; 

/* create data set - and write to pipe */
data outLib.Intermediate;
   do i=1 to 5;
       put 'Writing row ' i;            
       output;
   end;
run;
endrsubmit;
rdisplay p1;

/* -----------  DATA Step - Process P2  ----- */

signon p2 sascmd='!sascmd';
rsubmit p2  wait=no;

libname inLib sasesock ":pipe1";
libname outLib "d:\temp"; 

data outLib.Final;
set inLib.Intermediate; 
   do j=1 to 5;
        put 'Adding data ' j;          
        n2 = j*2; 
        output;
   end;
run;
endrsubmit;
rdisplay p2;
/* -------------------------------------------- */
こちらは実行したときのログです。
NOTE: Copyright (c) 2002-2010 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) 9.1 (TS1M3 DBCS3054)
      Licensed to XYZ JAPAN,LTD., Site 0041264126.
NOTE: このセッションは NET_SRV  プラットフォーム上で実行されています。



NOTE: SAS 9.1.3 Service Pack 4

NOTE: SAS システム初期化処理 :
       処理時間            1.43 秒
       CPU 時間            0.62 秒

1    /* -----------  DATA Step - Process P1  ----- */
2    signon p1 sascmd='!sascmd';
NOTE: P1 へのリモート接続を開始します。 (SAS Release 9.01.01M3P020206)
NOTE: SASUSER.PROFILE をオープンできません。 WORK.PROFILE を使用します。
NOTE: PROFILE への変更はセッションの終了時に失われます。
NOTE: Copyright (c) 2002-2010 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) 9.1 (TS1M3 DBCS3054)
      Licensed to XYZ JAPAN,LTD., Site 0041264126.
NOTE: このセッションは NET_SRV  プラットフォーム上で実行されています。



NOTE: SAS 9.1.3 Service Pack 4

NOTE: SAS システム初期化処理 :
       処理時間            0.26 秒
       CPU 時間            0.26 秒

NOTE: P1 へのリモート接続を完了しました。
3    rsubmit p1  wait=no;
NOTE: バックグラウンドで P1 へのリモートサブミットが進行中です。
4    rdisplay p1;
5
6    /* -----------  DATA Step - Process P2  ----- */
7
8    signon p2 sascmd='!sascmd';
NOTE: P2 へのリモート接続を開始します。 (SAS Release 9.01.01M3P020206)
NOTE: SASUSER.PROFILE をオープンできません。 WORK.PROFILE を使用します。
NOTE: PROFILE への変更はセッションの終了時に失われます。
NOTE: Copyright (c) 2002-2010 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) 9.1 (TS1M3 DBCS3054)
      Licensed to XYZ JAPAN,LTD., Site 0041264126.
NOTE: このセッションは NET_SRV  プラットフォーム上で実行されています。



NOTE: SAS 9.1.3 Service Pack 4

NOTE: SAS システム初期化処理 :
       処理時間            0.20 秒
       CPU 時間            0.20 秒

NOTE: P2 へのリモート接続を完了しました。
9    rsubmit p2  wait=no;
NOTE: バックグラウンドで P2 へのリモートサブミットが進行中です。
10   rdisplay p2;
11   /* -------------------------------------------- */


DMSには次のような表示が現れます。

0 件のコメント :

コメントを投稿