[세션레포트] 데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 #AWSSummitOnlineKorea

AWS Summit Online Korea 2021에서 노인철 솔루션즈 아키텍트님이 발표하신 데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기의 세션 레포트 블로그입니다.
2021.05.21

안녕하세요 DA부 송영진입니다. 오늘은 2021년 5월 12일에 AWS Summit Online Korea에서 발표된 세션 데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기의 레포트 블로그입니다.

발표자인 노인철님께서 새롭게 추가된 AWS 서비스를 데모를 통하여 이해하기 쉽게 알려주셨는데요, 저도 아직 다뤄보지 못한 서비스들을 미리 체험해보는 계기가 되어서 매우 신선했습니다.

세션 개요

  • 발표자 : 노인철, 솔루션즈 아키텍트, AWS
  • 개요

기업의 비즈니스 혁신의 기반인 데이터 분석 플랫폼은 쉽고 빠르게 구축할 수 있는 방법이 요구됩니다. 이를 위해 본 강연에서는 데이터 전처리를 코드없이 사용자 친화적 유저 인터페이스(GUI)로 수행할 수 있는 AWS Glue DataBrew , 데이터 추출, 변환 및 저장(ETL)을 위한 서버리스 서비스인 AWS Glue Studio, 데이터 카탈로그에 대한 권한통제 방법, 데이터웨어하우스 구축을 위한 Amazon Redshift 의 기술을 소개하고 대규모 데이터웨어하우스(DW) 클러스터간 데이터 공유 방법과 코드없이 기계 학습을 수행할 수 있는 기능들을 알려드립니다.

아젠다

  • AWS 기반의 데이터 분석 파이프라인
  • 데이터 전처리를 위한 AWS Glue DataBrew
  • 데이터 프로세싱을 위한 AWS Glue Studio, Amazon EMR Studio
  • 데이터웨어하우스를 위한 Amazon Redshift
  • 데이터 시각화를 위한 Amazon QuickSight
  • 데이터 분석 시작부터 끝까지

AWS 기반의 데이터 분석 파이프라인

데이터 분석 환경은 디바이스가 증가하면서 데이터의 크기가 커지고, 데이터 소스도 RDB뿐만 아니라 NoSQL이나 파일, 로그까지 포함하게되고, 데이터의 유형도 구조화된 데이터 뿐만 아니라 JSON과 같은 비구조화 데이터까지 포함하게 되는데 지금의 데이터 분석 환경은 이러한 문제를 해결할 수 있어야 합니다.

데이터 분석의 프로세스입니다. 이러한 과정을 AWS 안전하고 비용 효율적인 서비스로 제공하고 있고 점점 더 사용자가 편리하게 사용할 수 있도록 기능을 추가하고 있습니다.

데이터 분석 프로세스를 AWS서비스를 이용한 아키텍처의 예시입니다.

전처리 영역에서 Glue DataBrew를, 데이터 처리에서는 Glue 또는 EMR이 사용 가능합니다.

분석영역에서는 데이터웨어하우스인 Redshift와 서버리스 쿼리 서비스인 Athena가 있으며, 시각화 서비스인 QuickSight를 제공합니다.

Glue Crawler를 사용하여 데이터 카탈로그를 구성하여 Lake Formation을 통해 거버넌스 체계를 수립할 수 있습니다.

데이터 전처리를 위한 AWS Glue DataBrew

데이터 전처리는 데이터 분석의 80%의 시간이 걸리는 노력이 많이 드는 작업이고 복잡한 코딩이 필요 할 수도 있습니다. 이러한 전처리를 AWS Glue DataBrew를 통해서 해결 할 수 있습니다.

Glue DataBrew는 데이터분석가와 데이터과학자가 데이터 분석기나 머신러닝을 위해 필요한 데이터를 쉽게 전처리 가능하게 만드는 시각화된 서비스입니다.

250개 이상의 변환 기능으로 코드 없이 데이터를 간단하게 가공이 가능합니다. 변환 과정은 샘플 데이터를 볼 수 있고 변환 단계를 시각화 할 수 있기 때문에 이해하기도 쉽습니다.

한 번 저장된 데이터 정제방법을 다시 사용할 수 있도록 레시피를 제공합니다.

데이터 프로세싱을 위한 AWS Glue Studio

데이터를 정제한 후에는 비즈니스에 필요한 형태로 데이터를 만들 필요가 있습니다 이 과정에는 데이터를 조인, 분리, 삭제 등 복잡한 작업으로 코딩이 필요 할 수 있습니다.

Glue Studio는 이러한 ETL 작업을 코딩 없이 시각적으로 작성하고 모니터링 하는 기능을 제공합니다.

모든 ETL 작업을 단일 대시보드에서 확인 가능합니다. 커스텀 커넥터 기능을 제공하여 Glue에서 제공하지 않는 데이터 소스에서 ETL 할 수 있는 파이프라인을 만들 수 있습니다.

데이터 프로세싱을 위한 Amazon EMR Studio

서버리스인 Glue와 다르게 EMR은 서버 관리형 데이터 프로세싱 서비스입니다. 기존의 EMR 노트북은 EMR 콘솔을 통해서만 접근이 가능했습니다. 개발자간 소스코드의 공유나 디버깅이 까다로웠습니다.

EMR Studio에서는 이러한 불편함을 개선했습니다. 콘솔에 접속 할 필요없이 AWS SSO와 연동되어 단일 URL로 접속이 가능합니다.

Git Repository를 통해 코드를 공유하고 개발환경에서 운용환경으로 전환도 쉬워졌습니다. 디버깅을 위해 클러스터별로 애플리케이션에 접속 할 필요 없이 단일 모니터링 화면에서 Spark의 job을 보실 수 있습니다.

데이터웨어하우스를 위한 Amazon Redshift

데이터레이크는 정형, 비정형의 모든 데이터를 한 곳에 저장하여 데이터분석, 머신러닝, 시각화로 활용을 높이는 것이라면, 레이크하우스는 데이터웨어하우스의 성능과 신뢰성에 데이터레이크의 개방성을 혼합한 장점으로 Redshift는 이런 레이크하우스의 역할을 담당합니다.

Redshift의 두 가지 신 기능에 대한 설명입니다.

한 클러스터에 모든 데이터를 저장하고 여러 부서에서 컴퓨팅 리소스를 사용하는 케이스 또는 여러 클러스터에 필요한 데이터를 복사하는 방식으로 사용하는 케이스에서는 데이터를 복사할 때 많은 시간이 걸리거나 단일 데이터에 리소스 경합에 성능지연이 발생하기도 합니다. 많은 고객들은 성능에 영향을 주지 않고 비용 효율적으로 클러스터를 관리하면서 데이터에 대한 접근 통제를 쉽게 설정하고, 클러스터 간에 데이터를 공유하는 방법을 원했습니다.

Redshift Data Sharing은 사용자가 멀티 클러스터간에 데이터를 복사하거나 이동없이 최신 데이터를 공유하는 간단하고 직관적인 방법을 제공합니다.

사용 예로는 중앙에 ETL 전용 클러스터와 BI 분석용 클러스터에서 필요한 데이터를 읽고 공유하거나 개발용, 테스트용, 운용 클러스터간에 데이터 공유 등으로 성능과 비용을 충족시킬 수 있는 개별 클러스터를 구성 할 수 있습니다.

그림은 Account 1의 데이터를 제공하는 프로듀서 클러스터와 Account 2의 데이터를 공유받는 컨슈머 클러스터입니다.

Data Sharing은 2단계로 이루어집니다. 프로듀서 클러스터 관리자가 Datashare라는 오브젝트를 만들고, 공유하려는 스키마, 테이블, 뷰 등을 오브젝트에 추가합니다. 그리고 공유받는 컨슈머 클러스터를 지정합니다.

그 뒤 컨슈머 클러스터 관리자가 공유된 데이터를 확인하고 사용자나 그룹에 권한을 지정하면 프로듀서 클러스터에서 지정된 데이터를 조회 할 수 있습니다.

이렇게 공유된 데이터를 로컬 데이터와 조인해서 사용 할 수 있기 때문에 데이터를 실제로 복사, 이동하지 않아도 데이터를 사용 할 수 있게 됩니다.

머신러닝은 데이터 준비부터 알고리즘 준비, 학습과 서비스 제공을 위한 배포, 새로운 데이터로 재학습과 재배포 과정이 필요합니다. Redshift ML은 이런 과정에 필요한 데이터를 Redshift내의 정제된 데이터를 활용하고 머신러닝 전문가 없이도 모델을 생성하고 관리해주는 역할을 합니다.

모델의 생성도 어렵지 않게 표준 SQL을 사용해서 모델을 만드는 명령을 실행하면 됩니다. 사용자는 만들어진 모델을 SQL로 호출을 하기만 하면 예측을 수행 할 수 있게 됩니다.

학습을 할 데이터를 준비하고 CREATE MODEL이라는 SQL 명령어를 사용하여 입력데이터, 타겟데이터, SQL 함수 이름 지정, 모델이 저장될 S3버켓을 지정하여 모델을 생성합니다.

사용자는 앞에서 지정한 함수 이름으로 데이터를 지정하여 예측을 수행하면 결과 값이 돌아옵니다.

이러한 학습은 Amazon SageMaker AutoPilot이 이용되며 모델 서빙은 Redshift 클러스터가 이용되므로 서빙에 대한 요금은 발생하지 않습니다.

 

데이터 시각화를 위한 Amazon QuickSight

QuickSight는 사용자 애플리케이션에 대시보드를 쉽게 삽입 할 수 있게 만드는 셀프 서비스 BI 솔루션입니다. 사용자가 대시보드에 접속할 때의 세션당 비용 정책을 제공하기 때문에 비용 효율적으로 사용가능합니다.

자연어로 질문하면 분석하는 화면을 제공해주는 기능이 있으며, 데이터를 자연어로 설명하는 기능도 제공합니다.

이제 QuickSight에서도 PrivateLink를 이용하여 사용자의 VPC의 데이터에 접근 가능하며, 데이터에 대한 보안 제어가 강화 되었습니다.

데이터분석 시작부터 끝까지

이와같은 AWS에서 제공하는 서비스만을 이용하여 데이터의 시작부터 끝까지 데이터분석 파이프라인을 구축 할 수 있었습니다.

끝으로

업데이트가 정말 빠른 AWS의 새로운 서비스로 데이터분석 플랫폼을 더욱 편하게 구축할 수 있다는 세션이었습니다. Glue DataBrew는 저도 한번 블로그를 써봤지만 Glue Studio는 아직 다뤄보질 않아서 오 저런게 그냥 GUI로 된다고? 하면서 감탄했습니다. ㅋㅋㅋㅋ

Redshift에서도 다중 클러스터의 데이터 공유를 위한 Data Sharing를 사용해서 더욱 비용 효율적인 아키텍쳐를 생각해볼수도 있을 것 같습니다. Redshift ML은 지난 블로그에서 다뤘던 Aurora / Athena의 확장판이네요 더욱 많은 곳에서 머신러닝을 사용 할 수 있을 것 같습니다.

QuickSight도 이번에 QuickSight Q라는 자연어를 사용하여 사용자가 원하는 정보를 표현하기 더욱 쉬운 환경을 만들도록 업데이트 되고 있죠. 앞으로도 어떤 업데이트가 있을지 기대가 됩니다.

한눈에 데이터분석 플랫폼을 구성하는 서비스에 대한 정보를 얻을 수 있는 재미있는 세션이었습니다!

 

[레포트] 아직도 파이썬으로만 머신 러닝 하니? 난 SQL로 바로 쓴다. #AWSSummitOnlineKorea
데이터전처리에 코드가 필요없다? GUI로 데이터를 가공하는 서비스 Glue DataBrew

이쪽은 제가 이전에 썼던 블로그입니다. 혹시 관심이 있으시다면 이런게 있구나 하고 봐주세요. ㅎㅎㅎㅎ