1. 코드.
data &lib..wt_kword_cum&yyyymmdd._else (drop=freq_tmp compress=yes)
&lib..in_search_kword&yyyymmdd (drop=freq_tmp compress=yes)
;
set &lib..in_search_kword&yyyymmdd(keep=siteseq ref_top_psiteseq dkword freq rename=(freq=freq_tmp));
by siteseq ref_top_psiteseq dkword;
retain freq;
if first.dkword then freq=freq_tmp;
else freq+freq_tmp;
if last.dkword then do;
/* 차후 누적을 위해서. 전주까지 누적 10회 미만인 경우는 _else 로 뽑아서 처리 */
if freq<10 then output &lib..wt_kword_cum&yyyymmdd._else ;
/* 전주까지 누적 10회 이상인 경우에는 예외처리 수행 */
else output &lib..in_search_kword&yyyymmdd;
end;
run;
2. 시간단축 효과.
NOTE: 37732917개의 관측치를 데이터셋 HKTEMP.IN_SEARCH_KWORD20080309. (으)로부터 읽었습니다.
NOTE: 데이터셋 'HKTEMP.WT_KWORD_CUM20080309_ELSE'은(는) 37056161개 관측치, 4개 변수를 가지고 있습니다.
NOTE: 데이터셋 'HKTEMP.IN_SEARCH_KWORD20080309'은(는) 493375개 관측치, 4개 변수를 가지고 있습니다.
NOTE: DATA 문장 실행:
실행 시간 11:03.27
cpu 시간 1:42.33
NOTE: 39347111개의 관측치를 데이터셋 HKTEMP.IN_SEARCH_KWORD20080316. (으)로부터 읽었습니다.
NOTE: 데이터셋 'HKTEMP.WT_KWORD_CUM20080316_ELSE'은(는) 38688032개 관측치, 4개 변수를 가지고 있습니다.
NOTE: 데이터셋 'HKTEMP.WT_KWORD_CUM20080316_ELSE'을(를) 압축함으로서 크기가 82.65% 감소되었습니다.
압축된 파일은 115715쪽입니다; 압축되지 않은 파일은 667036쪽이 필요합니다.
NOTE: 데이터셋 'HKTEMP.IN_SEARCH_KWORD20080316'은(는) 475849개 관측치, 4개 변수를 가지고 있습니다.
NOTE: 데이터셋 'HKTEMP.IN_SEARCH_KWORD20080316'을(를) 압축함으로서 크기가 84.19% 감소되었습니다.
압축된 파일은 1297쪽입니다; 압축되지 않은 파일은 8205쪽이 필요합니다.
NOTE: DATA 문장 실행:
실행 시간 2:52.28
cpu 시간 2:06.53
3. 파일 크기 감소.
옵션 사용 전 : -rw-r--r-- 1 kkk aaaaaal 10468253696 3월 10 02:51 wt_kword_cum20080309_else.sas7bdat
옵션 사용 후 : -rw-r--r-- 1 kkk aaaaaal 1895964672 3월 17 01:02 wt_kword_cum20080316_else.sas7bdat
SAS 데이터셋 생성시 compress 옵션을 사용함으로써 데이터 사이즈의 효율적인 관리 및 데이터 작업시간을 단축시킬 수 있다.
< compress 옵션의 종류>
1. compress= YES | CHAR
- 문자형(CHAR) 필드를 압축하는 옵션이다.
- ORACLE 등에서 사용 가능한 가변길이(VARCHAR)형식이 SAS에 없기 때문에 용량이 낭비되는 현상을 방지할 수 있다.
- 공백을 포함한 문자가 2,3bytes 연속 반복될 때 유용하다.
2. compress= BINARY
- 숫자형 필드를 압축하는 옵션이다.
- sliding-window compression 방식을 사용한다.
- 숫자형 변수가 (several hundred bytes or larger) blocks of binary data (numeric variables)일 경우에 유용하다.
------------
< 사용 사례 >
0. 요약.
문자형 데이터가 많은 데이터셋 생성시 compress=YES 옵션을 사용함으로써 나타난 효과는 다음과 같다.
a. 파일 크기 : compress옵션을 사용하기 전의1/5 로 축소되었다. (10GB -> 1.8GB)
b. 데이터 작업시간 : compress옵션을 사용하기 전의 1/4로 감소되었다. (11분->3분)
'일 > Data Mining' 카테고리의 다른 글
map & reduced model (0) | 2008.06.02 |
---|---|
[SAS Tip] SAS 데이터셋 생성시 set문 2번 쓰기. (0) | 2008.04.30 |
[강의록] Data Mining : Concepts and Techniques , 2nd ed. (0) | 2008.02.22 |
[SAS tip] sas datetime value를 yyyymmddhhmmss 형식으로 변형하기. (0) | 2008.01.22 |
좋은 모델을 만드는 법. (0) | 2007.12.16 |