책 리뷰

[책] 파이썬과 대스크를 활용한 고성능 데이터 분석

seungdols 2020. 10. 25. 13:01

책 커버

예제코드는 https://github.com/coldfire79/data-science-with-python-and-dask 여기에서 받을 수 있고, 주피터 노트북 기반으로 되어 있다.

Dask는 분산 데이터 분석 프레임워크로 생각하면 된다.
https://dask.org/ 홈페이지 상에도 위와 같이 설명 된 부분이 있다.

https://docs.dask.org/en/latest/why.html

이 문서에 접근 하면 왜 Dask인지? 설명이 자세하게 나와 있다.

그리고 이 책에서는 1장에서는 DAG에 대해 설명하는데, 이를 요리에 빗대어 표현하고 있는데, 사실 이 부분이 나는 오히려 좀 아쉬웠다.

요리에 빗대어 표현한게 오히려 독이라는 생각이 들었다. 좀 더 어렵게 느껴졌다.

사실, 왜 분산 데이터 분석이 필요할까? 생각을 했는데, 시간이 지날 수록 데이터 분석을 해야 하는데, 데이터 사이즈는 커지고, 데이터 사이즈가 커지면, 고가의 머신에서 분석하는 것보다는 여러 저비용 서버에서 분산 처리 하는 것이 비용이 저렴하고, 병렬 실행을 할 수 있는 장점이 있다.

2장부터는 실제 예제를 이용하여 Dask 프레임워크에 대해 설명하고 있다.

이 책에서 설명하는 Dask프레임워크는 아주 심플한 구조로 설명을 하고 있다.

코드와 코드의 원리를 간략하게 설명하는 점에 있어서 좋았다.

그리고 그림으로 설명을 하기 때문에 이해가 쉬운 부분이 있다.

책은 크게 목차를 나누는데, 책 내용에도 각 장마다 표기 하고 있다.

  1. 문제 정의
  2. 데이터 수집
  3. 데이터 정리
  4. 탐색적 분석
  5. 가설 설정과 검정
  6. 모델 구축과 검정
  7. 모델 배포와 모니터링

총 7단계로 이루어진다.

사실 제일 중요한 부분이 데이터 수집과 데이터 정리가 가장 크지 않을까? 생각 했었는데, 문제 정의도 만만치 않는 것 같다.

파티션 기반으로 병렬처리를 수행하는데, Pandas도 정말 좋은 정형 데이터 분석 프레임워크이지만, 확장성 고려가 안되어 있다.

그래서 이 Dask를 이용하면, Pandas도 병렬로 처리할 수 있어서 고속 분석이 가능해진다.

그리고 중요한 파티셔닝 관리와 셔플에 대해 3장에서 소개하고 dask 프레임워크에 대한 한계를 설명하고 있다.

(그런데, 셔플에 대해서는 설명이 빈약한 것 같다.)

그리고 신기한점이 Dask는 파이썬에서 주로 사용하는 Duck typing 대신 명시적 타이핑을 사용한다고 한다.

왜일까? 그건 설명이 없었다.

DB, HDFS, S3, parquet에서 데이터를 불러와 사용할 수 있는 점이 약간 파이스파크와 비슷하다고 해야 할까? 그런 모습이긴 하다.

이 책을 보면서 느낀 점은 점점 분산형 아키텍처가 거의 베이스가 되어버린 느낌을 많이 받았다. 스파크, 하둡, PostgresQL등등 대다수의 프레임워크, 툴들이 분산 확장형의 컨셉을 지니는 것 같아 신기 했는데, 데이터 분석 처리 툴은 그런게 있나? 막연하게 생각 했는데, Dask라는 도구를 알게 되었다.

데이터 엔지니어링을 하고 있지는 않아 실무에서는 어떤 프레임워크를 더 많이 쓰는지는 잘 모르겠다.
팀에서 쓰고 있는 파이스파크로 충분한 때가 있는 것 같기도 하고 Daks가 또 어느 지점에서는 유용하지 않을까? 생각 하게되었다.

한빛미디어에서 책을 제공 받아 리뷰 작성을 하게 되었습니다.

반응형

'책 리뷰' 카테고리의 다른 글

[리뷰] 클라우드 핀옵스  (0) 2020.12.20
[리뷰] Vue.js 첫걸음  (0) 2020.11.21
[리뷰] 자바 최적화  (0) 2020.09.27
배워서 바로 쓰는 스프링 프레임워크  (0) 2020.05.30
리팩토링 2판  (0) 2020.04.30