J-Jobs 소개 마지막 시간입니다. 지난 시간에는 ‘Job Scheduling’과 ‘J-Jobs’의 다양한 템플릿을 소개하고 ‘REST API’, ‘Command•Shell’, ‘Email’ 세 가지 템플릿을 조합하여 초미세먼지 데이터를 수집하고 메일로 전송해주는 Job을 만들어 보았습니다. 이번 시간에는 빅데이터 분석에 활용할 수 있는 데이터 분석 도구 R에 대해 알아보고, J-Jobs와 R 연계를 소개해 드리겠습니다.
l R을 활용한 데이터 시각화 예시 (출처: wsyang.com)
J-Jobs는 R 플러그인 템플릿을 이용하여 Job을 만들 때 활용할 수 있습니다. 템플릿의 사용법은 지난 시간에 소개한 다른 템플릿들과 동일하며, 사용자가 작성해둔 R 스크립트를 서버에 설치된 R 엔진 위에 실행시켜 데이터 분석을 수행합니다.
데이터 분석은 용량이 클수록, 내용이 복잡할수록 시간이 오래 걸리며 다양한 분석 모델을 동시해 수행해야 한다는 점에서 J-Jobs의 ‘Workload Automation’ 기능을 필요로 합니다.
대량의 데이터를 분산시킨 후, 분석을 진행하고 결과를 취합하여 사용자에게 리포팅하거나, 분석 도중에 오류가 발생했을 때 자동으로 재시작을 진행해 줄 수도 있습니다. 또한, 다양한 분석 모델을 동시에 처리할 때 자원을 효율적으로 관리해 줄 수도 있습니다.
l Auto Scaling 개념도 (출처: AWS Documentation 재구성)
J-Jobs 역시 서버에서 실제 Job을 수행하는 에이전트의 부하 상태를 주기적으로 모니터링하고 있습니다. 자원이 부족하면 에이전트를 ‘Scale Out’ 하여 늘려주고, 에이전트의 부하가 줄고 여유가 있으면, ‘Scale In’ 하여 자원을 효율적으로 사용할 수 있게 관리해 줍니다.
이렇게 저장소로 공유되는 데이터는 배포 서버에 배포되며, 배포된 자원은 에이전트가 구동하거나 Job이 실행될 때 필요한 자원만 획득하여 사용하게 됩니다. 또한, R 스크립트를 처리할 때 분석의 기초가 되는 데이터를 사용할 수 있도록 HDFS, MFT 기반의 파일 데이터나 DBMS를 이용한 데이터 공유구조도 제공합니다.
글 | LG CNS 아키텍처솔루션팀
* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.