IT Solutions

J-Jobs, ‘R’을 활용한 데이터 분석으로 스마트하게!

2017.08.17 09:30

J-Jobs 소개 마지막 시간입니다. 지난 시간에는 ‘Job Scheduling’과 ‘J-Jobs’의 다양한 템플릿을 소개하고 ‘REST API’, ‘Command•Shell’, ‘Email’ 세 가지 템플릿을 조합하여 초미세먼지 데이터를 수집하고 메일로 전송해주는 Job을 만들어 보았습니다. 이번 시간에는 빅데이터 분석에 활용할 수 있는 데이터 분석 도구 R에 대해 알아보고, J-Jobs와 R 연계를 소개해 드리겠습니다.




 데이터 분석을 위한 도구 R


R은 통계 분석을 위한 프로그래밍 언어이자 소프트웨어 도구입니다. R은 로버트 젠틀맨(Robert Gentleman)과 로스 이하카(Ross Ihaka)에 의해 개발된 오픈 소스로, 누구나 무료로 사용할 수 있습니다. R은 통계 분석과 다양한 시각화 기능이 강점인데요. 최근 빅데이터, AI 등의 기술이 부상하면서 점점 더 인기를 얻고 있습니다. 

특히, 최신기술을 연구하는 학자들이나 전문가들이 R을 사용하여 그 결과를 배포하기 때문에 상용 소프트웨어 제품들보다 더 최신 기술이 적용된 라이브러리가 풍부하기도 합니다. 이러한 장점들로 인해 R은 데이터 분석과 통계 분야에서 대세로 자리 잡고 있으며, 빅데이터, AI, 머신러닝 등에도 응용되고 있습니다. 

l R을 활용한 데이터 시각화 예시 (출처: wsyang.com)


J-Jobs는 R 플러그인 템플릿을 이용하여 Job을 만들 때 활용할 수 있습니다. 템플릿의 사용법은 지난 시간에 소개한 다른 템플릿들과 동일하며, 사용자가 작성해둔 R 스크립트를 서버에 설치된 R 엔진 위에 실행시켜 데이터 분석을 수행합니다. 


데이터 분석은 용량이 클수록, 내용이 복잡할수록 시간이 오래 걸리며 다양한 분석 모델을 동시해 수행해야 한다는 점에서 J-Jobs의 ‘Workload Automation’ 기능을 필요로 합니다. 


대량의 데이터를 분산시킨 후, 분석을 진행하고 결과를 취합하여 사용자에게 리포팅하거나, 분석 도중에 오류가 발생했을 때 자동으로 재시작을 진행해 줄 수도 있습니다. 또한, 다양한 분석 모델을 동시에 처리할 때 자원을 효율적으로 관리해 줄 수도 있습니다. 



 Auto Scale Out•In으로 효율적인 데이터 분석 지원

대용량의 데이터 분석을 신속하게 처리하기 위해서는 많은 자원이 필요합니다. 그에 따라 적절하게 자원을 늘려 주어야 합니다. 하지만, 대용량 처리가 끝난 후에도 필요 이상으로 자원이 남아돈다면, 이는 오히려 비용만 증가하기 때문에 자원을 다시 줄여야 합니다. 

이렇게 서버에 부하가 심해질 것 같으면 자동으로 증량하고, 부하가 없어졌을 때 다시 감량해주는 기능을 ‘Auto Scaling’이라고 하는데요. 클라우드 서버 환경에서 많이 활용되고 있습니다. 

l Auto Scaling 개념도 (출처: AWS Documentation 재구성)


J-Jobs 역시 서버에서 실제 Job을 수행하는 에이전트의 부하 상태를 주기적으로 모니터링하고 있습니다. 자원이 부족하면 에이전트를 ‘Scale Out’ 하여 늘려주고, 에이전트의 부하가 줄고 여유가 있으면, ‘Scale In’ 하여 자원을 효율적으로 사용할 수 있게 관리해 줍니다.



 데이터의 배포와 관리

앞서 알아본 R의 가장 큰 장점 중 하나는 바로 최신 기술들이 적용된 라이브러리가 업데이트된다는 점이었습니다. J-Jobs는 사용자가 작성한 R 스크립트나 라이브러리, 패키지 등을 별도의 저장소로 관리하여 일괄적으로 반영할 수 있으며, 여러 에이전트가 필요한 패키지들을 사용할 수 있도록 합니다. 


이렇게 저장소로 공유되는 데이터는 배포 서버에 배포되며, 배포된 자원은 에이전트가 구동하거나 Job이 실행될 때 필요한 자원만 획득하여 사용하게 됩니다. 또한, R 스크립트를 처리할 때 분석의 기초가 되는 데이터를 사용할 수 있도록 HDFS, MFT 기반의 파일 데이터나 DBMS를 이용한 데이터 공유구조도 제공합니다.



 마무리

지금까지 총 세 차례에 걸쳐 J-Jobs에 대해 소개하는 시간을 가졌는데요. 첫 번째 시간에는 ‘Job Scheduling’과 ‘Workload Automation’의 개념을 소개하고 J-Jobs의 기본 기능에 대해 알아보았습니다. 두 번째 시간에는 J-Jobs의 다양한 템플릿들과 템플릿을 활용한 Job을 만들어 보았습니다. 그리고 마지막으로 데이터 분석 도구인 오픈소스 R과 J-Jobs의 R 플러그인 연계에 대해 알아보았습니다.

J-Jobs는 앞으로도 다양한 기능들을 지속적으로 업데이트할 예정이며, ‘Workload Automation’ 솔루션으로서의 기본 기능은 물론 클라우드 환경과 빅데이터 분석 기능 등을 강화해 나갈 예정입니다. J-Jobs와 함께 업무에 편리를 더 하시길 바랍니다. 

글 | LG CNS 아키텍처솔루션팀


* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.


저작자 표시 비영리 변경 금지
신고
Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS
위로