sas, zip большие наборы данных, экономия места на unix сервере - PullRequest
0 голосов
/ 06 ноября 2018

Каковы наилучшие способы архивирования наборов данных SAS? Ниже приведен код, который я пробовал использовать SAS и Putty. В SAS я не получил журнал, говорящий, что это было успешно или нет. Я получил! восклицательный знак. В Putty я тоже не получил ни одного сообщения, успешно или нет. Каковы лучшие и самые быстрые способы архивировать большие наборы данных в SAS или Putty? Кроме того, есть ли способ сделать несколько наборов данных одновременно? Кроме того, я думаю, что журнал будет хорошо. Спасибо!

SAS

LIBNAME ZIP '/server/department/analytics/data/PROJECT/';
x gzip /server/department/analytics/data/PROJECT/req1_txns1.sas7bdat;

Замазка Unix

cd /server/department/analytics/data/PROJECT/
gzip req1_txns2.sas7bdat 

1 Ответ

0 голосов
/ 09 ноября 2018

Мне нравится (и очень рекомендуется) комментарий Стю об использовании %squeeze() для уменьшения места на диске. Но если вы все еще хотите сжать наборы данных, вы можете использовать ods package, чтобы сделать то же самое см. .

Пример использования -

libname out '/project/path/here';

filename ds1 "%sysfunc(pathname(out))/sas_ds1.sas7bdat" recfm=n;
filename ds2 "%sysfunc(pathname(out))/sas_ds2.sas7bdat" recfm=n;
filename xl1 "%sysfunc(pathname(out))/xlfile1.xlsx" recfm=n; /*ensuring binary transfer*/

ods package (zip1) open nopf;  /*creates a folder in-memory*/
ods package (zip1) add file=ds1;
ods package (zip1) add file=ds2;
ods package (zip1) add file=xl1;
ods package (zip1) publish archive
    properties (archive_name="my_zipfile.zip" archive_path="%sysfunc(pathname(out))");
ods package (zip1) close; /*this saves it to disk*/

После их выполнения в вашем журнале должно быть указано, что SAS записывает zip1 по указанному пути. И my_zipfile.zip должен быть создан в папке, которую вы указали во второй последней строке publish archive properties ().

...