-
책 : 실무 예제로 배우는 데이터 공학사업계획 2021. 12. 5. 10:57
책제목 : 실무 예제로 배우는 데이터 공학
부제목 : 파이썬과 오픈소스 프로젝트로 만드는 나만의 데이터공학환경과 파이프라인
지은이 : 폴 크리커드
옮긴이 : 류광
펴낸곳 : 제이펍
<책속으로>
- 가장 낮은 수준에서 데이터 공학에는 데이터를 한 시스템에서 다른 시시템으로 이동하고나 다른 형식(format)으로 변환하는 작업이 관여한다. 좀 더 일반적인 용어로 말하자면, 데이터 공학자는 자료원, 즉 데이터 공급원에서 데이터를 질의(추출)하고, 데이터를 어떤 방식으로든 수정하고(변환), 데이터를 사용자가 접근할 수 있는, 그리고 거기에 있는 데이터가 실무 품질임을 아는 어떤 장소에 넣는다(적재). 추출(extract), 변환(transform), 적재(load)라는 용어들은 이 책 전체에 쓰이며, 종종 ETL로 줄여서 표지하기도 한다. 그런데 데이터 공학의 이러한 정의는 다소 광범위하고 단순화된 것이다. 그럼 데이터 공학자가 과연 어떤 일을 하는지를 예제를 통해서 좀 더 깊게 살펴보자.
- 데이터 공학자는 효율적인 데이터 전송을 위해 데이터 형식, 모형, 구조를 고민하는 반면, 데이터 과학자는 그런 데이터를 활용해서 통계 모형을 구축하고 수학 계산을 수행하는 방법을 고민한다.
데이터 과학자가 자신의 모형들을 데이터 공학자가 만든 데이터 웨어하우스에 연결해서 기계학습 모형과 분석에 필요한 데이터를 추출한다. 데이터 과학자가 자신의 모형들을 데이터 공학 파이프라인에 집어넣는 경우도 있다. 그런 만큼 데이터 공학자와 데이터 과학자는 밀접한 관계를 맺어야 한다. 데이터 과학자가 데이터에서 무엇을 필요로 하는지를 파악하는 것은 데이터 공학자가 더 나은 제품을 제공하는 데 도움이 된다.
- 아파치 에어플로에서 DAG(Directed Acyclic Graph : 유항 비순환 그래프)를 만들 때에는 Bash 스크립트를 비롯해 다양한 연산자(operator)로 작업(task)을 정의할 수 있다. 이 책에서 특히 중요한 것은 파이썬 함수의 형태로도 작업을 정의할 수 있다는 점이다. 이 작업들은 DAG형태로 조직화된다. 이는 작업들의 의존 관계와 실행 순서가 명시적으로 정의된다는 뜻이다. 여러 작업으로 DAG를 만든 다음에는 스케줄러를 이용해서 DAG의 실행 시점과 주기를 설정한다. 에어플로는 DAG를 감시하고 관리할 수 있는 GUI를 제공한다. 이번 절에서는 지금까지 배운 것을 이용해서 에어플로에서 데이터 파이프라인을 하나 만들어 본다.
- 데이터 레이트(data lake)의 로그 파일이나 기타 텍스트 파일을 읽어서 데이터베이스나 데이터 웨어하우스로 옮기는 것은 데이터 공학자가 흔히 하는 작업이다. 이번 장에서는 제3장에서 배운 텍스트 파일 처리 기술에 기초해서 데이터를 데이터베이스로 옮기는 방법을 살펴본다. 또한 이번 장에서는 관계형 데이터베이스와 NoSQL데이터베이스에서 데이터를 추출하는 방법도 이야기한다. 이번장을 마치면 여러분은 파이썬과 NiFi, 에어플로를 이용해서 데이터베이스를 다루는 데 필요한 기술들을 갖추게 될 것이다.
- 이번 장에서는 실무production에 바로 사용할 수 있는 데이터파이프라인의 여러 특징을 살펴본다. 데이터파이프라인을 여러 번 실행해도 결과가 변하지 않게 하려면 어떻게 해야 하는지(멱등성), 트랜잭션이 실패했을 때 어떻게 처리해야 하는지(원자성)을 배우게 될 것이다. 또한 이번 장에서는 스테이징 환경에서 데이터를 검증하는 방법도 살펴본다. 이번장의 예제 데이터 파이프라인은 내가 실무 호나경에서 실제로 실행 중인 데이터 파이프라인이다.
'사업계획' 카테고리의 다른 글
채용 공고로 본 개발자 필요 역량 (0) 2021.12.16 스타트업 실행 전략1-임연호 (0) 2021.12.09 [이석중의 알기쉬운 인공지능] 과적합(Overfitting) 해결 방법: 지능적인 학습 데이터 증강(data augmentation) (0) 2021.10.03 [이석중의 알기쉬운 인공지능] 하이퍼변수 (Hyperparameter) 최적화(5) – Hyperband (0) 2021.10.03 [이석중의 알기쉬운 인공지능] 하이퍼변수(Hyperparameter) 최적화(4) (0) 2021.10.03