例: SASエンジンを使用してSASデータを処理する
- 例: LIBNAMEステートメントでV9エンジンを割り当てる
- 例: LIBNAMEステートメントでSPD Engineを割り当てる
- 例: SPD Engineを使用したHadoopでのSASデータの読み取りおよび書き込み
- 例: CVPエンジンとV9エンジンを使用して切り捨てを回避する
- 例: SASデータセットをCASサーバーにロードする
例: LIBNAMEステートメントでV9エンジンを割り当てる
コード例
このライブラリ割り当ては、V9エンジンを指定します。
libname myfiles v9 'library-path'; /*1*/
data myfiles.myclass; /*2*/
set sashelp.class;
run;
-
LIBNAMEステートメントは、
myfilesライブラリ参照名とV9エンジンをライブラリの場所に割り当てます。library-pathをライブラリの場所に置き換えます。この場所はすでに存在しており、SAS Compute Serverからアクセスできる必要があります。 -
DATAステップは、
sashelpライブラリからclassデータセットをコピーすることにより、myfilesライブラリにmyclassデータセットを作成します。
V9ライブラリ割り当てが成功したことを示すSASログ
1 libname myfiles v9 'library-path';
NOTE: Libref MYFILES was successfully assigned as follows:
Engine: V9
Physical Name: library-path
2 !
3 data myfiles.myclass;
4 set sashelp.class;
5 run;
NOTE: There were 19 observations read from the data set SASHELP.CLASS.
NOTE: The data set MYFILES.MYCLASS has 19 observations and 5 variables.
要点
|
例: LIBNAMEステートメントでSPD Engineを割り当てる
コード例
SPD Engineの次のLIBNAMEステートメントは、V9エンジンのLIBNAMEステートメントと非常に似ています。
libname mylib spde 'library-path' /*1*/
datapath=('path-for-data-partitions') /*2*/
indexpath=('path-for-indexes'); /*3*/
-
LIBNAMEステートメントのこの部分では、
mylibライブラリ参照名とSPD Engineをプライマリパス名に割り当てます。データセットの最初(通常は唯一)のメタデータファイルは、常にライブラリのプライマリパスに保存されます。 -
オプションで、DATAPATH=オプションで1つ以上のパス名を割り当てて、データパーティションを保存できます。それ以外の場合、データパーティションファイルはプライマリパスに保存されます。
-
オプションで、INDEXPATH=オプションで1つ以上のパス名を割り当てて、インデックスファイルを保存できます。それ以外の場合、インデックスファイルはプライマリパスに保存されます。
SPD Engineライブラリ割り当てが成功したことを示すSASログ
1 libname mylib spde 'library-path'
2 datapath=('path-for-data-partitions')
3 indexpath=('path-for-indexes');
NOTE: Libref MYLIB was successfully assigned as follows:
Engine: SPDE
Physical Name: library-path
3 !
要点
|
例: SPD Engineを使用したHadoopでのSASデータの読み取りおよび書き込み
コード例
次の例では、Base SASライブラリをHadoopクラスターに割り当てます。
options; /*1*/
options;
libname mydata spde '/data/abcdef' hdfs=yes accelwhere=yes; /*2*/
-
SET=システムオプションは、Hadoopの環境変数を定義します。これらの環境変数がすでに設定されている場合(たとえば、構成中)、これらのコード行をサブミットしないでください。これらの環境変数が正しく設定されていない場合、LIBNAMEステートメントによりSASログにエラーが生成されます。
-
LIBNAMEステートメントは、
mydataライブラリ参照名をSPD EngineとHadoopクラスター内のディレクトリに割り当てます。HDFS=YES引数は、Hadoopクラスター構成ファイルで定義されているHadoopクラスターに接続することを指定します。ACCELWHERE=YESオプションは、Hadoopクラスター内のMapReduceプログラムによってデータのサブセット化が実行されることを要求します。
要点
|
例: CVPエンジンとV9エンジンを使用して切り捨てを回避する
コード例
この例を実行するには、まず、例: LIBNAMEステートメントでV9エンジンを割り当てるにあるように、myclassという名前のデータセットを作成します。PROC CONTENTSを実行して変数の長さを確認します。
libname myfiles v9 'library-path-1';
proc contents data=myfiles.myclass;
run;
PROC CONTENTS出力では、2つの文字変数に注目してください。Nameの長さは8、Sexの長さは1です。
拡張前の変数長を示すPROC CONTENTS

次の例では、CVPエンジンとV9エンジンを使用して文字変数のサイズを拡張しています。CVPエンジンは、文字を表現するためにより多くのバイトを使用するエンコーディングにデータセットをコピーする場合に、切り捨てを回避するのに役立ちます。
libname srclib cvp 'library-path-1' cvpengine=v9 cvpmult=2.5; /*1*/
libname target v9 'library-path-2'; /*2*/
proc copy in=srclib out=target; /*3*/
select myclass;
run;
proc contents data=target.myclass; /*4*/
run;
-
このLIBNAMEステートメントは、
srclibライブラリをCVPエンジンとコピーするデータの場所に割り当てます。CVPENGINE=オプションは、データを処理する基になるエンジンとしてV9エンジンを指定します。CVPMULT=オプションは、すべての文字変数を拡張するための乗算係数2.5を指定します。このオプションが指定されていない場合、CVPエンジンは自動的に乗数値を選択します。 -
このLIBNAMEステートメントは、コピーされたデータを含む
targetライブラリを割り当てます。 -
SELECTステートメントを使用したCOPYプロシジャは、
myclassデータセットをtargetライブラリにコピーします。コピー中に、CVPエンジンは文字変数の長さを2.5倍に拡張します。 -
CONTENTSプロシジャは、文字変数の長さが2.5倍になったことを示します。
Nameの場合、8 × 2.5 = 20。
Sexの場合、1 × 2.5 = 2.5となり、整数に切り上げると3になります。
拡張後の変数長を示すPROC CONTENTS

要点
|
関連項目
- SAS各国語サポート(NLS): リファレンスガイド
- Compatibility and Migration (SAS V9 LIBNAME Engine: Reference)
- COPY プロシジャ (Base SASプロシジャガイド)
例: SASデータセットをCASサーバーにロードする
コード例
次の例では、DATAステップを使用して、SASデータセットをSAS Cloud Analytic Services (CAS)テーブルとしてメモリにロードします。
cas casauto host="cloud.example.com" port=5570; /*1*/
libname mycas cas; /*2*/
data mycas.cars (promote=yes); /*3*/
set sashelp.cars;
run;
proc contents data=mycas.cars; /*4*/
run;
-
CASステートメントはCASセッションを開始し、CASセッション名として
casautoを指定します。HOST=およびPORT=オプションで接続情報を使用します。 -
LIBNAMEステートメントは、
mycasライブラリ参照名をCASエンジンに割り当てます。SESSREF= LIBNAMEオプションが指定されていないため、エンジンはcasautoセッションを使用します。 -
DATAステップは、SASデータセット
sashelp.carsをCASセッションにコピーします。PROMOTE=YESデータセットオプションは、テーブルをグローバルスコープでプロモートします。 -
PROC CONTENTSは、
mycas.carsテーブルがセッション中にCASサーバー上で使用できることを示します。データがメモリにロードされた後、後続のステップでメモリ内のデータを処理できます。ロードと処理は別のステップで行われます。
mycas.carsのPROC CONTENTS出力の一部

要点
|
関連項目
- LIBNAME ステートメント: CASエンジン (SAS Cloud Analytic Services: ユーザーガイド)
- DATAステップとCAS (SAS Cloud Analytic Services: DATAステッププログラミング)
- Example: Load SAS Data to CAS by Using the CASUTIL Procedure (SAS V9 LIBNAME Engine: Reference)
- SAS Viyaプラットフォームプログラミング: 入門ガイド