SoDA를 이용해 쉽게 배우는 데이터 과학 #4
지난 포스팅에서는 SoDA 인터페이스 구성과 그 기능에 대해 알아보았습니다. 오늘은 SoDA 인터페이스 중 ‘작업 모드’와 ‘프로세스 플로우’ 두 가지 요소에 대해 알아보겠습니다. 이 두 요소는 코딩에 익숙한 사용자와 코딩이 낯선 사용자 모두 쉽게 사용할 수 있도록 구성되어 있습니다. 이제부터 각각을 자세히 살펴보겠습니다.
1. 작업 모드
SAS Studio(SoDA 작업 환경)는 [SAS 프로그래머]와 [시각적 프로그래머] 두 가지 작업 모드를 지원합니다. 이 작업 모드에 따라 작업 방식을 코딩 중심으로 할지 아니면, Studio에서 지원하는 [작업] 중심으로 진행할 지가 결정됩니다. 이러한 작업 모드는 <그림 1>과 같이 상단 메뉴를 통하여 변경할 수 있습니다.
<그림 1> 작업 모드 변경 방법
1) SAS 프로그래머 모드
SAS 프로그래머 모드는 SAS 코딩 중심으로 데이터 처리, 분석을 수행하기 위한 작업 모드입니다. 이 모드는 SAS Programming이 익숙한 기존 사용자에게 적합합니다. SAS 프로그래머 모드를 선택할 경우, <그림 2>와 같이 프로그램 편집창에서 SAS 코드를 입력해 작업을 수행합니다. 그렇기 때문에 작업 파일은 ‘.sas’ 확장자를 갖는 SAS 프로그램 파일로 저장합니다.
<그림 2> SAS 프로그래머 모드 작업 수행 방식
2) 시각적 프로그래머 모드
시각적 프로그래머 모드는 프로세스 플로우에 기초한 작업 모드입니다. 프로세스 플로우는 데이터, 작업, 프로그램 등을 하나의 노드로 표현합니다. 그리고 각 노드를 처리 순서에 맞게 연결해 작업 흐름을 한 눈에 확인할 수 있도록 합니다. 작업 파일은 프로세스 플로우 파일로 저장하며, 확장자는 ‘.cpf’을 갖게 됩니다.
<그림 3> 시각적 프로그래머 모드 작업 수행 방식
SAS 프로그래머 모드는 프로세스 플로우를 사용할 수 없습니다. 하지만 시각적 프로그래머 모드에서는 SAS 프로그램 파일을 하나의 노드로 두고 프로그램을 플로우에 포함할 수 있습니다. 이러한 이유 때문에 SAS 프로그램에 익숙한 사용자의 경우에도 작업 흐름을 한 눈에 확인하기 위해 시각적 프로그래머 모드를 이용하기도 합니다. 개인적으로는 데이터 처리나 분석 작업이 크고 복잡한 경우, 작업 흐름을 한 눈에 보기 편리한 프로세스 플로우를 이용할 것을 권장합니다.
<표 1> SAS Studio의 작업 모드 비교
2. 프로세스 플로우
시각적 프로그래머 모드에서는 프로세스 플로우를 이용해 데이터를 분석하고 처리합니다. 프로세스 플로우는 데이터 처리나 분석 흐름을 한눈에 알아보기 쉽게 만들어 놓은 일종의 판입니다. 프로세스 플로우에는 ‘데이터, 코드, 작업’ 등의 노드를 올려 둘 수 있습니다. 또한 각 노드는 처리 순서에 맞게 선으로 연결할 수 있습니다. 선으로 연결된 노드는 처리 순서를 시각적으로 나타내기 때문에 협업에 유리한 장점을 가지게 됩니다. 이제 프로세스 플로우를 만드는 방법과 그 기능을 자세히 알아보겠습니다.
1) 프로세스 플로우 만들기
앞에서 설명했듯이 프로세스 플로우는 [시각적 프로그래머] 모드에서만 이용할 수 있습니다. 그렇기 때문에 [프로세스 플로우]를 만들기에 앞서 <그림 4>와 같이 먼저 [작업 모드]를 [시각적 프로그래머]로 변경해야 합니다. 그 다음 상단의 [새로운 옵션]에서 프로세스 플로우를 생성합니다.
<그림 4> 새로운 프로세스 플로우
① 상단 메뉴에서 작업 모드를 [시각적 프로그래머]로 변경
② 상단 메뉴의 왼쪽, 세번째에 위치한 [새로운 옵션]의 [새로운 프로세스 플로우]를 선택
2) 프로세스 플로우 둘러보기
새로운 프로세스 플로우를 만들면 <그림 5>와 같은 화면이 나타납니다. 이제 프로세스 플로우의 구성에 대해 자세히 살펴보겠습니다.
<그림 5> 프로세스 플로우
① 이 영역은 프로세스 플로우의 하위 탭입니다. [플로우] 탭은 기본값으로 플로우를 살펴보기 위해 사용합니다. [결과]는 플로우를 실행한 결과가 출력됩니다. 이 탭에서는 실행한 작업, 프로그램 이름, 상태 정보 등을 확인할 수 있습니다. 마지막으로 [속성] 탭에서는 프로세스 플로우의 이름이나 저장 위치 등의 속성 정보를 확인할 수 있습니다.
② 이 영역은 [플로우] 탭을 선택할 경우 보여지는 빈 공간입니다. 이 공간은 작업, 데이터, 프로그램 등을 올려 놓고 플로우를 그리기 위한 공간입니다.
③ 이 메뉴들은 ‘프로세스 플로우1’에 대한 빠른 실행 도구 모음입니다. 여기에 속한 도구들은 프로세스 플로우 전체에 영향을 주기 때문에 [실행] 버튼을 클릭하면 프로세스 플로우에 속한 모든 프로그램과 작업이 한 번에 실행됩니다. [코드 생성]은 프로세스 플로우에 속한 작업들을 SAS 코드로 한 번에 변경할 때 사용합니다. 마지막 버튼은 프로세스 플로우를 최대화할 때 사용합니다.
④ [플로우] 탭에 대한 빠른 실행 도구 모음입니다. 여기에는 SAS 프로그램, 질의, 작업 등과 같은 노드를 생성하는 기능, 노드 색상을 변경하는 기능, 노드를 자동으로 정렬하는 기능 등이 포함되어 있습니다. 노드 정렬은 정렬할 노드를 모두 선택한 다음 마지막에 위치한 버튼을 클릭하면 됩니다.
3) 포트와 노드
노드(node)는 프로세스 플로우 위에 놓인 작업, 데이터, 프로그램 등을 말합니다. 노드와 노드는 포트(port)라는 연결 고리로 연결합니다. 포트는 데이터와 컨트롤 포트 두 가지가 있습니다. 데이터 포트는 데이터 입력이나 출력을 받을 수 있는 노드에 한하여 표시됩니다. 컨트롤 포트는 작업 처리 순서를 정할 때 사용할 수 있습니다. 데이터 포트를 더블 클릭하면, 해당 데이터 포트의 데이터가 표시됩니다.
<그림 6> 포트와 노드
<표 2> 포트의 유형
4) 노드 작업 상태 알아보기
<그림 7> 노드의 작업 상태
작업, 프로그램과 같은 실행이 가능한 노드는 ‘작업 상태’를 노드에 아이콘으로 나타냅니다. 작업 상태는 <그림 7>과 같이 노드 오른쪽 아래에 표시됩니다. 작업 상태는 ‘옵션지정필요’, ‘실행대기’ 등 총 5가지 상태가 있습니다. 자세한 작업 상태 아이콘과 아이콘이 의미하는 상태는 <표 3>과 같습니다.
<표 3> 프로세스 플로우 노드의 5가지 작업 상태
작업 상태 중 옵션지정필요와 실행대기는 아직 작업이 실행되기 전 상태입니다. 반면 성공, 경고, 오류는 작업 실행 결과를 나타냅니다. 만약 실행 결과에 오류나 경고가 발생했다면, 해당 노드를 더블 클릭하여 [로그] 탭을 연 다음, 경고나 오류가 발생한 이유를 확인한 뒤 고쳐야 합니다.
<그림 8> 작업 실행 결과 로그
오늘 포스팅에서는 SoDA에서 데이터 처리와 분석을 위한 작업 방식을 알아보았습니다. 작업 모드는 [SAS 프로그래머 모드]와 [시각적 프로그래머 모드] 두 가지가 있었습니다. SAS 프로그래머 모드는 SAS 프로그래밍에 익숙한 사용자에게 적합했습니다. 반면, 시각적 프로그래머 모드는 SAS 프로그래밍에 익숙하지 않거나, 처리해야 할 작업이 복잡하고 많은 경우에 적합했습니다. 시각적 프로그래머 모드에서는 [프로세스 플로우]를 사용했습니다. 프로세스 플로우는 데이터 분석과 처리 작업을 [노드]로 구성하여 작업 흐름을 쉽게 확인할 수 있는 장점이 있었습니다.
지금까지 ‘SoDA를 이용해 쉽게 배우는 데이터 과학’을 4회의 시리즈로 소개해 드렸습니다. SAS의 강력한 통계 분석, 데이터 마이닝, 예측 모델링 소프트웨어를 무료로 사용해 보실 수 있는 SoDA(SAS OnDemand for Academics)를 직접 체험해 보시고, 학업이나 연구에 활용하시기 바랍니다.
[관련 블로그]
SoDA를 이용해 쉽게 배우는 데이터 과학 #1 : SoDA로 데이터 과학 시작하기
SoDA를 이용해 쉽게 배우는 데이터 과학 #2 : SoDA 서비스 가입하기
SoDA를 이용해 쉽게 배우는 데이터 과학 #3 : SoDA 둘러보기