본문 바로가기

Database

애저 HDInsight 새소식, 아파치 스파크 2.3 지원됩니다! 스파크 기반 머신 러닝, IoT 등 활용 시나리오가 더욱 풍성 ~

마이크로소프트가 제공하는 매니지드 기반 빅 데이터 서비스인 애저 HDInsight가 아파치 스파크 2.3.0을 공식 지원합니다. 스파크 2.3.0 버전의 주요 개선 사항은 크게 세 가지입니다. 첫 번째는 파이썬 UDF를 이용하는 데이터 엔지니어는 10배에서 최대 100배까지 빨라진 데이터 처리 속도를 경험할 수 있다는 것입니다. 이에 따라 데이터 엔지니어는 스파크 기반 머신 러닝 환경에 텐서플로우 등의 프레임워크를 통합해 운영하기 좋아졌습니다. 흔히 머신 러닝 파이프라인이라고 하죠. 다음 그림 보면 이해가 쉬울 것입니다. 스파크 기반 머신 러닝 파이프라인에 각종 프레임워크를 연결해 써도 될 만큼 데이터 처리 속도가 좋아졌습니다. 

두 번째 개선 사항은 비즈니스 분석가를 위한 혜택입니다. 널리 쓰이는 컬럼 기반 데이터 포맷인 ORC 파일을 스파크 환경에서 역동적으로 분석할 수 있습니다. 벡터화 기반의 ORC 파일 포맷 리더를 통해 빠른 속도를 확보했기 때문에 얻게 된 개선 사항입니다. 따라서 다음과 같은 환경에서 스파크를 이용해 데이터 분석을 하는 경우 2.3.0 버전의 이점을 살리기 좋습니다. 


세 번째 개선 사항은 실시간 애플리케이션을 만드는 개발자를 위한 혜택입니다. 스파크 2.3.0에는 'Continuous Processing' 모드란 것이 새로 들어갔는데요, 이벤트 프로세싱을 할 때 발생하는 처리 속도 지연을 밀리 초 단위로 줄인다고 합니다. 네, 딱 보면 느낌이 오죠. 금융권에서 사기 탐지나 제조 등에서 IoT 관련해 빅 데이터 시나리오를 적용하는 그림에 넣어 보면 새로 추가된 모드가 갖는 이점이 눈에 들어올 것입니다. 


말 나온 김에 애저 환경에서 스파크를 이용한 스트리밍 분석 시나리오 몇 가지 살펴보겠습니다. 마이크로소프트는 데이터 과학자, 엔지니어, 개발자를 위한 노트북인 애저 데이터브릭스(Azure Databricks)라는 서비스를 제공합니다. 이 노트북을 쓰면 클릭 한 번으로 새로운 스파크 환경을 구성해 원하는 프로젝트를 시작할 수 있습니다. 스파크 스트리밍을 이용해 어떤 프로젝트를 시도해 볼 수 있을까요? 대표적인 예, 거의 대표 시나리오로 세미나에 자주 등장하는 주제가 있죠. 네, IoT 분석과 웹 사이트 클릭 스트림 분석입니다. 

이들 시나리오에 등장하는 기술적 특징은 크게 4가지입니다. 먼저 스파크 스트리밍을 통해 데이터를 데이터 스토어로 보내기 전에 지속해서 수집하고 정재를 할 수 있죠. 스트리밍 ETL 작업을 하는 것이죠. 그리고 이상 행위가 징후가 감지되면 실시간으로 사전에 정의한 실행이 이루어지도록 트리거 설정도 할 수 있습니다. 

라이브 데이터를 다루기 때문에 실시간 분석을 위한 데이터 세트가 풍부한 것은 당연하죠. 여기에 한 가지 더해 복잡한 세션 속에서 지속해서 뭔가 알아냅니다. 가령 특정 사이트에 사용자가 접속한 후 여기저기 둘러봅니다. 이 같은 라이브 세션 관련 정보는 학습의 훌륭한 재료입니다. 

히트맵 분석 같은 전통적인 것이 아니라 머신 러닝 모델을 적용해 방문자의 클릭 스트림을 통해 뭔가 더 나은 결과를 끌어내고 싶다고 가정해보죠. 이 경우 머신 러닝 모델을 만들어 트레이닝을 한 다음 프로덕션에 적용하겠죠. 이후 라이브 세션 정보는 머신 러닝 관련 추론에 쓰이고, 추론 작업이 결과물은 다시 모델을 보강하는 재료로 쓰입니다. 

소개한 시나리오 관련해 더 자세한 사항은 웨비나를 통해 알아볼 수 있습니다. 영어로 진행되는 점이 아쉽긴 하네요. 해당 주제를 친숙한 한글로 듣고 싶다면 ~ 락플레이스가 도움을 드릴 수 있습니다.