みなさま,教えてください.
プログラムの先頭でoptions compress= yes;を指定しても,DS2プロシジャでは無視されるのでしょうか?
options compress= yes;
data class;
set sashelp.class;
run;
proc ds2;
data class1(overwrite=yes );
method run();
set class;
end;
enddata;
run;
quit;
proc contents data= work._all_;
run;
よろしくお願いします.
無視されるのが仕様となります。
DS2プロシジャは原則システムオプションをサポートしていませんので、COMPRESSオプションは
効果がありません。代わりにテーブルオプションで指定するデザインとなっています。
無視されるのが仕様となります。
DS2プロシジャは原則システムオプションをサポートしていませんので、COMPRESSオプションは
効果がありません。代わりにテーブルオプションで指定するデザインとなっています。
お返事ありがとうござます.やはりそうなのですね.
テーブルオプションでの指定は以下になりますでしょうか?
また,以下のように指定した場合,非圧縮データセットを作成した後に,データセットが圧縮される仕様でしょうか?
ディスクのIOが遅いため,compress=yesを利用しているのですが,DS2を利用する場合,その効果は期待できないのでしょうか?
proc ds2;
data class1(overwrite=yes compress=yes);
method run();
set class;
end;
enddata;
run;
quit;
指定は適切だと思います。非圧縮のデータセットを経由するということはないですので、ページ数の
減少が十分に見込めるのであれば効果はあります。ただ、一般的にCPUをよく使うような複雑な計算を
しないのであれば、DS2プロシジャを利用する利点はないとも思います。
お返事ありがとうござます.
扱うデータセットが数十GBと大きいため,sort-by and merge-byを避けて,SQLで書いているため,
set句にSQL文を書けるDS2プロシジャを利用しようと考えたのですが...
圧縮済み20GBと圧縮済み200MGのLEFT JOINで,200GBを超えて成長していたので,圧縮されずに
作成されるのかと思っていました.もう少し,試行錯誤してみます.
いろいろありがとうございました.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!