대규모 CSV 파일 처리를 위한 esProc SPL 활용 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
데이터 분석가 및 대규모 데이터 처리 개발자 (중간~고급 수준)
핵심 요약
cursor@tc()
함수로 대규모 CSV 파일을 메모리 오버플로우 없이 처리 가능@m
옵션을 추가하여 멀티스레드 병렬 계산 구현 가능 (예: 145초 → 92초 성능 향상)- 시각적 인터페이스 제공으로 Python 대비 개발 효율성 향상
섹션별 세부 요약
1. esProc SPL 설치 및 준비
- esProc SPL은 무료로 다운로드 가능한 도구로, 대규모 CSV 파일 처리에 최적화
cursor@tc()
함수는 헤드라인 열 포함(@t) 및 콤마 구분자(@c) 설정 가능fetch(100)
메서드로 메모리 과부하 방지
2. 기본 연산 및 필터링
skip()
함수로 레코드 건수 계산 (예: 101,730,411건)select()
+like()
조합으로 Amount 3000~4000, Client에 's' 포함 조건 필터링@c
옵션으로 대소문자 구분 없음 처리
3. 정렬 및 파일 저장
sortx()
함수로 OrderDate 오름차순, Amount 내림차순 정렬 (-
기호 사용)sortx()
실행 후 새로운 파일 생성 및 100건 미리보기
4. 그룹화 및 집계
groups()
함수로 SQL과 유사한 집계 연산 수행 (예: 매출 통계)- A2 셀에서 필요한 컬럼만 로드하여 처리 속도 최적화
5. 성능 분석
- A1, A5 셀에서 실행 시간 추적 (145초 기록)
@m
옵션 추가 후 92초로 병렬 처리 성능 향상 (하드디스크 병목 제한으로 2배 이상 향상 미달)
6. 병렬 컴퓨팅 설정
cursor()
함수에@m
옵션 추가로 멀티코어 CPU 활용- 병렬 옵션 활성화 후 재실행 시 성능 개선 확인
결론
cursor@tc()
+@m
병렬 옵션을 통해 대규모 CSV 처리 효율성 극대화- 시각적 디버깅 도구와 간결한 SPL 코드로 Python 대비 개발 생산성 향상
- 하드디스크 병목으로 인한 성능 한계를 고려한 멀티스레드 최적화 전략 적용 필수