qor***
2020-10-25

대스크를 활용한 데이터 정리에서 배포에 이르기까지 데이터 과학의 일반적인 워크플로를 소개한다. 먼저 확장 가능한 컴퓨팅을 익히고 이를 대스크가 어떤 방식으로 활용하는지 살펴본다. 이어서 다양한 실제 데이터셋을 준비하고 분석, 시각화, 모델링하는 과정에서 대스크로 일반적인 데이터 과학 작업을 수행하는 방법을 실용 예제로 제공한다. 마지막으로 AWS에 자신만의 대스크 클러스터를 배포해 분석 코드를 확장하는 과정을 단계별로 안내한다.
‘빅데이터’. 4차 산업혁명이라는 말과 함께 우리 사회를 관통하고 있는 키워드 중의 하나이다. 현대 사회는 이전에 비해 엄청난데이터가 시시각각 생성되고 있고, 이러한 데이터를 어떻게 다루느냐는 기업과 사회의 경쟁력이 되고 있다.
(출처: dask.org)
대스크(Dask)는 이러한 대용량의 데이터를 효과적으로 처리할 수있도록 하는 파이썬 패키지이다. 대용량의 데이터를 처리하는 프레임워크나 방법은 매우 많지만, 대스크는 파이썬을 이용하여 데이터를 처리하던 사용자에게 거의 동일한 사용 경험을 제공한다. 대용량 데이터의 처리에 많이 쓰이는 아파치 스파크의 경우, 파이썬을위해 파이스파크라는 API를 제공하지만, JVM 기반에서동작하는 스파크를 최대로 활용하기 위해서는 스칼라나 자바로의 전환이 불가피한 경우도 존재한다. 대스크는팬더스(Pandas)와 넘파이(NumPy)에 이미 익숙한많은 함수와 속성, 그리고 메서드들이 구문적으로 동일하다. 이러한디자인은 팬더스, 넘파이, 사이킷런에 이미 익숙한 사용자들이작은 데이터셋 작업에서 더 큰 규모의 데이터셋으로 확장하는 작업을 용이하게 한다.
‘파이썬과대스크를 활용한 고성능 데이터 분석 (원제: Data Sciencewith Python and Dask)’는 이러한 대스크에 대한 상세한 소개를 담고 있다. 이책은 크게 3개의 파트로 구성되어 있다. 첫번째 파트는 확장가능한 컴퓨팅의 빌딩 블록에 대한 것으로, 스케일링 컴퓨팅의 기초 내용을 다루고 있다. 대스크가 왜 데이터 과학에서 중요한지, 그리고 스케일링 컴퓨팅의핵심 개념인 유향 비순환 그래프 (DAG: Directed Acyclic Graph)의 개념 및 이를확장한 사용법을 소개한다.
두번째 파트는 대스크 데이터 프레임을 이용하여 정형 데이터 작업 방법을 다룬다.대스크 데이터 프레임의 디자인 컨셉을 소개하고, 팬더스 데이터 프레임과의 관계 및 처리방법, 다양한 형식의 데이터 소스로부터 대스크 데이터 프레임을 생성하는 방법을 설명한다. 이어 데이터의 정렬, 필터링, 결측치처리, 데이터셋 조인 등 데이터셋을 정제하고 변형하는 방법과 함께 sum,mean 등 기본 내장 함수와 사용자 정의 함수를 만들고 사용하는 방법도 살펴보고 있다.
마지막 세번째 파트는 비정형 데이터, 머신러닝, 확장 가능한 워크로드 빌드하기 등 조금 더 높은 수준의 대스크 활용법을 소개한다. 대스크 Bag과 배열을 사용해서 비정형 데이터를 다루는 방법, 대스크 데이터 소스에서 머신러닝 모델을 구축하고 훈련된 모델의 활용법에 이어 도커를 사용해 AWS에서 대스크 클러스터를 설정하고 사용하는 방법을 설명한다.
이 책은 초중급의 데이터 과학자나 엔지니어, 분석가를 대상으로 하지만, 책에 소개된 친절한 예제는 아직 데이터 과학을 접해보지 못한 사람들에게도 데이터 과학으로의 좋은 입문서가 될것이다.