책을 읽는데 꾀 오랜 시간을 소모했다. 필자는 현재 딥러닝 업무를 진행하고 있는데 의미 있는 데이터를 수집하는 방법에 대해서 많은 고민을 하고 있다. 그러다 보니 자연스럽게 데이터 공학이라는 단어가 익숙해지고 데이터 공학이 무엇인지에 대해서 호기심이 생겼다. 실무 예제로 배우는 데이터 공학 책을 정독하며 실습을 진행하였다. 생각보다 많은 라이브러리와 대시보드, 데이터 관리 서버 등 서버 관련 지식이 부족하여 책을 여러 번 다시 봤던 거 같다.
책은 총 3개의 파트와 15개의 CHAPTER로 구성되어 있으며 데이터 공학에 대한 이론부터 시작하여 카프카, NiFi, 하둡 스파크 등을 이용하여 데이터 파이프라인을 구축하는 방법에 대해서 자세히 설명한다.
데이터 공학은 데이터 기반구조를 개발하고 운영하고 유지 보수하는 활동이다. 여기서 데이터 기반 구조는 데이터를 추출, 변환, 적재하기 위한 파이프라인과 데이터베이스로 구성되며, 조직이 직접 운영할 수도 있고(온프레미스) 클라우드에 둘 수도 있다(또는 그 둘을 혼합하거나, 다수의 클라우드에 두는 옵션도 있다).
데이터 공학자는 효율적인 데이터 전송을 위해 데이터 형식, 모형, 구조를 고민하는 반면, 데이터 과학자는 그런 데이터를 활용해서 통계 모형을 구축하고 수학 계산을 수행하는 방법을 고민한다.
파이썬은 데이터 과학 환경은 다른 그 어떤 언어를 능가한다. Pandas나 matplotlib, numpy, scipy, scikit-learn, tensorflow, pytorch, NLTK 같은 라이브러리 덕분에 강력한 데이터 공학 및 데이터 과학 환경을 제공한다.
데이터 공학을 정의하고 데이터 공학자와 과학자의 대한 차이를 설명한다. 또 한 데이터 공학자의 역할로 필요한 지식과 프로그래밍 언어 및 개발 도구에 대해서 소개한다..
데이터 공학자가 사용하는 여러 도구를 설치하고 설정하는 방법을 배우며 데이터 파이프 라인을 구축할 실용적인 환경 구성에 대해서 설명한다.
파이썬으로 CSV 파일과 JSON 파일을 처리하는 방법과 CSV를 JSON으로 변환하는 파이썬 함수를 작성해서 아파치 에어플로의 데이터 파이프라인을 구축하여 에어플로 GUI를 다루는 방법과 DAG를 실행하는 방법을 익힐 수 있다.
파이썬을 이용해서 관계형 데이터베이스와 NoSQL 데이터베이스의 데이터를 질의하거나 삽입하는 방법과 에어플로와 NiFi에서 데이터 파이프라인을 구축하는 방법을 소개한다.
데이터 정제 : 데이터의 유효성을 점검하고 보정하는 것
데이터의 정제하기 위해서 파이썬을 사용하여 데이터 분석하는 방법을 예시로 보이며 설명한다.PANDAS를 CSV 데이터를 읽고 HEAD와TAIL 메서드로 일부 데이터를 출력하며 분석하는 방법을 예시로 보여준다.
기본적인 탐색적 데이터 분석(EDA)을 통해서 데이터에 존재하는 오류를 찾아내는 방법을 살펴보고, 공통적인 데이터 문제점들을 바로 잡아서 데이터를 정제하는 방법을 설명한다.
키바나 대시보드를 빠르게 만드는 능력을 갖추어 두면 데이터 파이프라인을 점검하거나 데이터에 존재하는 오류를 찾는 데 도움이 된다.
멱등성 : 수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질
원자성 : 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장하는 것
실무용 데이터 파이프라인의 세 가지 핵심 특징인 데이터 스테이징 및 검증, 멱등성, 원자성에 대해 소개하며 좀 더 안정적이고 실무 환경에 적합한 파이프라인을 만들 수 있다.
실무용 데이터 파이프라인을 개발하고 운영할 때 중요한 요소인 버전 관리에 대해서 설명하고 NiFi 레지스트리를 설치, 설정하여 NiFi의 프로세스 그룹에 대해 버전 관리를 적용하는 방법에 대해서 소개한다..
NiFi GUI에서 상태 표시줄과 게시 메시지, 카운터를 이용해서 데이터 파이프라인을 모니터링하는 방법과 독자적인 모니터링 도구를 만드는 데 사용할 수 있는 NiFi REST API로 NiFi GUI에 나타나는 것과 같은 종류의 정보를 얻을 수 있다.
프로그래밍에서 함수를 정의하고 호출하는 것과 비슷하게, 특정 작업에 대한 프로세스 그룹을 분리함으로써 처리기들의 중복을 줄일 수 있다. 데이터 파이프라인을 서로 다른 환경들에 배치할 때 설정 변경 작업을 줄이기 위해 전역 변수와 지역 변수를 활용하는 방법에 대해 알 수 있었다.
실무용 데이터 파이프라인을 구축하고 배치하는 방법을 이야기했다. 검사 환경과 실무 환경을 구축하고, 파일 시스템에 있는 데이터 레이크에서 데이터를 읽어 들이는 데이터 파이프라인을 검사 환경에 구축 및 예제 데이터 파이프라인을 구축하는 과정에서 데이터 읽기 작업을 모니터링하는 방법을 설명한다..
CHAPTER 12부터는 실습 위주로 구성되어 있다.
주키퍼 및 카프카 클러스터 생성 및 시험 운영에 대해 설명한다.
아파치 카프카를 활용하여 실시간 데이터 스트리밍 처리를 위한 파이프라인 구축에 대해 설명한다.
아파치 스카프의 설치와 설정, PySpark의 설치와 설정, PySpark를 이용한 데이터 처리에 대해 설명한다.
MiNiFi 설치 및 설정, MiNiFi 데이터 파이프라인 구축 및 연동
믿고 보는 제이펍 IT 전문서 리뷰어 1기로서 출판사로부터 책을 제공받았으나,
본 리뷰는 제 주관적인 판단에 따라 작성하였습니다.
알고리즘 트레이닝 - 프로그래밍 대회 입문 가이드 (0) | 2021.09.18 |
---|---|
머신러닝 파워드 애플리케이션 (0) | 2021.09.10 |
인공지능 70 (재미있게 알아보는 AI 키워드) (0) | 2021.07.19 |
Do it! Vue.js 입문 (0) | 2021.06.17 |
주머니 속의 머신러닝 : 파이썬으로 구조적 데이터 다루기 - Jpub(제이펍) (0) | 2021.05.14 |
댓글 영역