본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

Apache Airflow 기반의 데이터 파이프라인 상세페이지

컴퓨터/IT IT 비즈니스

Apache Airflow 기반의 데이터 파이프라인

에어플로 중심의 워크플로 구축에서 커스텀 컴포넌트 개발 및 배포, 관리까지

소장종이책 정가36,000
전자책 정가30%25,200
판매가25,200
Apache Airflow 기반의 데이터 파이프라인

작품 소개

<Apache Airflow 기반의 데이터 파이프라인> Airflow 설치부터 파이프라인 작성, 테스트, 분석, 백필
그리고 배포 및 관리까지를 한 권으로 해결!

이 책은 효과적인 데이터 파이프라인을 만들고 유지하는 방법을 설명하고 있으며, 이를 통해 여러분은 다양한 데이터 소스의 집계, 데이터 레이크와의 연결 및 클라우드 배포를 포함해서 가장 일반적인 사용법을 확인할 수 있다. 각 장의 설명과 튜토리얼 형태의 실용적인 가이드를 통해, Airflow를 구동하는 방향성 비순환 그래프(DAG)의 모든 내용과 요구사항에 맞게 파이프라인을 커스터마이징하는 방법을 다룬다. 이 책은 중급 이상의 파이썬 스킬을 보유한 데브옵스 엔지니어, 데이터 엔지니어, 머신러닝 엔지니어, 그리고 시스템 관리자를 위한 책이다.


출판사 서평

주요 내용

■ Airflow 파이프라인을 DAG로 빌드하고 테스트하여 배포하는 방법
■ 데이터 이동 및 변환을 자동화하는 방법
■ 백필을 사용하여 과거 이력 데이터셋을 분석하는 방법
■ 커스텀 컴포넌트의 개발 방법
■ 운영 환경에서의 Airflow 구성 방법



저자 소개

저 : 바스 하렌슬락 (Bas Harenslak)
네덜란드 암스테르담에 위치한 데이터 기반 솔루션을 개발하는 GoDataDriven의 데이터 엔지니어다. 소프트웨어 공학과 컴퓨터 과학에 대한 지식이 많은 그는 소프트웨어 개발이나 데이터 작업을 마치 어려운 퍼즐을 푸는 것처럼 즐겁게 한다. 오픈 소스 소프트웨어 작업을 선호하며, Apache Airflow 프로젝트의 기여자이자 암스테르담 Airflow 모임의 공동 주최자다.

저 : 율리안 더라위터르 (Julian de Ruiter)
컴퓨터 및 생명 과학을 전공하고 전산 종양생물학 박사 학위를 지닌 머신러닝 엔지니어다. 경험이 풍부한 소프트웨어 개발자이기도 한 그는 클라우드 및 오픈 소스 소프트웨어를 사용하여 프로덕션에 유용한 머신러닝 솔루션을 개발하고, 데이터 과학 및 데이터 엔지니어링 세계를 연결하는 것을 즐긴다. 여가 시간에는 자신의 파이썬 패키지를 개발하고 오픈 소스 프로젝트에 기여하거나 전자제품 수선하기를 좋아한다.

역 : 김정민
GS ITM 기술전략팀 부장. 새로운 기술을 많은 사람에게 공유하고 전파하기 위해 관련 서적을 번역하는 데 관심이 많은 데이터 분석 엔지니어다. 분산처리 기술을 활용하여 음악과 영상 서비스의 스트리밍 솔루션 개발자로 출발해 20년 동안 대기업과 벤처기업에서 다양한 서비스를 개발했다.

목차

옮긴이 머리말 xiii
번역서 추천사 xv
베타리더 후기 xvii
원서 추천사 xix
시작하며 xx
감사의 글 xxii
이 책에 대하여 xxiv
표지에 대하여 xxviii

PART I 기본편

CHAPTER 1 Apache Airflow 살펴보기
1.1 데이터 파이프라인 소개
1.1.1 데이터 파이프라인 그래프
1.1.2 파이프라인 그래프 실행
1.1.3 그래프 파이프라인과 절차적 스크립트 파이프라인 비교
1.1.4 워크플로 매니저를 이용한 파이프라인 실행
1.2 Airflow 소개
1.2.1 파이썬 코드로 유연한 파이프라인 정의
1.2.2 파이프라인 스케줄링 및 실행
1.2.3 모니터링과 실패 처리
1.2.4 점진적 로딩 및 백필
1.3 언제 Airflow를 사용해야 할까
1.3.1 Airflow를 선택하는 이유
1.3.2 Airflow가 적합하지 않은 경우
1.4 이후 내용
요약

CHAPTER 2 Airflow DAG의 구조
2.1 다양한 소스에서 데이터 수집
2.1.1 데이터 탐색
2.2 첫 번째 Airflow DAG 작성
2.2.1 태스크와 오퍼레이터 차이점
2.2.2 임의 파이썬 코드 실행
2.3 Airflow에서 DAG 실행하기
2.3.1 파이썬 환경에서 Airflow 실행
2.3.2 도커 컨테이너에서 Airflow 실행하기
2.3.3 Airflow UI 둘러보기
2.4 스케줄 간격으로 실행하기
2.5 실패한 태스크에 대한 처리
요약

CHAPTER 3 Airflow의 스케줄링
3.1 예시: 사용자 이벤트 처리하기
3.2 정기적으로 실행하기
3.2.1 스케줄 간격 정의하기
3.2.2 Cron 기반의 스케줄 간격 설정하기
3.2.3 빈도 기반의 스케줄 간격 설정하기
3.3 데이터 증분 처리하기
3.3.1 이벤트 데이터 증분 가져오기
3.3.2 실행 날짜를 사용하여 동적 시간 참조하기
3.3.3 데이터 파티셔닝
3.4 Airflow의 실행 날짜 이해
3.4.1 고정된 스케줄 간격으로 태스크 실행
3.5 과거 데이터 간격을 메꾸기 위해 백필 사용하기
3.5.1 과거 시점의 작업 실행하기
3.6 태스크 디자인을 위한 모범 사례
3.6.1 원자성
3.6.2 멱등성
요약

CHAPTER 4 Airflow 콘텍스트를 사용하여 태스크 템플릿 작업하기
4.1 Airflow로 처리할 데이터 검사하기
4.1.1 증분 데이터를 적재하는 방법 결정하기
4.2 태스크 콘텍스트와 Jinja 템플릿 작업
4.2.1 오퍼레이터의 인수 템플릿 작업
4.2.2 템플릿에 무엇이 사용 가능할까요?
4.2.3 PythonOperator 템플릿
4.2.4 PythonOperator에 변수 제공
4.2.5 템플릿의 인수 검사하기
4.3 다른 시스템과 연결하기
요약

CHAPTER 5 태스크 간 의존성 정의하기
5.1 기본 의존성 유형
5.1.1 선형 의존성 유형
5.1.2 팬인/팬아웃(Fan-in/Fan-out) 의존성
5.2 브랜치하기
5.2.1 태스크 내에서 브랜치하기
5.2.2 DAG 내부에서 브랜치하기
5.3 조건부 태스크
5.3.1 태스크 내에서 조건
5.3.2 조건부 태스크 만들기
5.3.3 내장 오퍼레이터 사용하기
5.4 트리거 규칙에 대한 추가 정보
5.4.1 트리거 규칙이란?
5.4.2 실패의 영향
5.4.3 기타 트리거 규칙
5.5 태스크 간 데이터 공유
5.5.1 XCom을 사용하여 데이터 공유하기
5.5.2 XCom 사용 시 고려사항
5.5.3 커스텀 XCom 백엔드 사용하기
5.6 Taskflow API로 파이썬 태스크 연결하기
5.6.1 Taskflow API로 파이썬 태스크 단순화하기
5.6.2 Taskflow API를 사용하지 않는 경우
요약

PART II 중급편

CHAPTER 6 워크플로 트리거
6.1 센서를 사용한 폴링 조건
6.1.1 사용자 지정 조건 폴링
6.1.2 원활하지 않는 흐름의 센서 처리
6.2 다른 DAG를 트리거하기
6.2.1 TriggerDagRunOperator로 백필 작업
6.2.2 다른 DAG의 상태를 폴링하기
6.3 REST/CLI를 이용해 워크플로 시작하기
요약

CHAPTER 7 외부 시스템과 통신하기
7.1 클라우드 서비스에 연결하기
7.1.1 추가 의존성 패키지 설치하기
7.1.2 머신러닝 모델 개발하기
7.1.3 외부 시스템을 사용하여 개발하기
7.2 시스템 간 데이터 이동하기
7.2.1 PostgresToS3Operator 구현하기
7.2.2 큰 작업을 외부에서 수행하기
요약

CHAPTER 8 커스텀 컴포넌트 빌드
8.1 PythonOperator로 작업하기
8.1.1 영화 평점 API 시뮬레이션하기
8.1.2 API에서 평점 데이터 가져오기
8.1.3 실제 DAG 구축하기
8.2 커스텀 훅 빌드하기
8.2.1 커스텀 훅 설계하기
8.2.2 MovielensHook로 DAG 빌드하기
8.3 커스텀 오퍼레이터 빌드하기
8.3.1 커스텀 오퍼레이터 정의하기
8.3.2 평점 데이터를 가져오기 위한 오퍼레이터 빌드하기
8.4 커스텀 센서 빌드하기
8.5 컴포넌트 패키징하기
8.5.1 파이썬 패키지 부트스트랩 작업하기
8.5.2 패키지 설치하기
요약

CHAPTER 9 테스트하기
9.1 테스트 시작하기
9.1.1 모든 DAG에 대한 무결성 테스트
9.1.2 CI/CD 파이프라인 설정하기
9.1.3 단위 테스트 작성하기
9.1.4 Pytest 프로젝트 구성하기
9.1.5 디스크의 파일로 테스트하기
9.2 테스트에서 DAG 및 태스크 콘텍스트로 작업하기
9.2.1 외부 시스템 작업
9.3 개발을 위해 테스트 사용하기
9.3.1 DAG 완료 테스트하기
9.4 Whirl을 이용한 프로덕션 환경 에뮬레이션
9.5 DTAP 환경 생성하기
요약

CHAPTER 10 컨테이너에서 태스크 실행하기
10.1 다양한 오퍼레이터를 쓸 때 고려해야 할 점
10.1.1 오퍼레이터 인터페이스 및 구현하기
10.1.2 복잡하며 종속성이 충돌하는 환경
10.1.3 제네릭 오퍼레이터 지향하기
10.2 컨테이너 소개하기
10.2.1 컨테이너란 무엇인가?
10.2.2 첫 도커 컨테이너 실행하기
10.2.3 도커 이미지 생성하기
10.2.4 볼륨을 사용하여 데이터를 유지하기
10.3 컨테이너와 Airflow
10.3.1 컨테이너 내의 태스크
10.3.2 왜 컨테이너를 사용하는가?
10.4 도커에서 태스크 실행하기
10.4.1 DockerOperator 소개
10.4.2 태스크를 위한 컨테이너 이미지 생성하기
10.4.3 도커 태스크로 DAG 구성하기
10.4.4 도커 기반의 워크플로
10.5 쿠버네티스에서 태스크 실행
10.5.1 쿠버네티스 소개
10.5.2 쿠버네티스 설정하기
10.5.3 KubernetesPodOperator 사용하기
10.5.4 쿠버네티스 관련 문제 진단하기
10.5.5 도커 기반 워크플로와 차이점
요약

PART III Airflow 실습

CHAPTER 11 모범 사례
11.1 깔끔한 DAG 작성
11.1.1 스타일 가이드 사용
11.1.2 중앙에서 자격 증명 관리
11.1.3 구성 세부 정보를 일관성 있게 지정하기
11.1.4 DAG 구성 시 연산 부분 배제
11.1.5 Factory 함수를 사용한 공통 패턴 생성
11.1.6 태스크 그룹을 사용하여 관련된 태스크들의 그룹 만들기
11.1.7 대규모 수정을 위한 새로운 DAG 생성
11.2 재현 가능한 태스크 설계
11.2.1 태스크는 항상 멱등성을 가져야 합니다
11.2.2 태스크 결과는 결정적이어야 합니다
11.2.3 함수형 패러다임을 사용하여 태스크 설계합니다
11.3 효율적인 데이터 처리
11.3.1 데이터의 처리량 제한하기
11.3.2 증분 적재 및 처리
11.3.3 중간 단계 데이터 캐싱
11.3.4 로컬 파일 시스템에 데이터 저장 방지
11.3.5 외부/소스 시스템으로 작업을 이전하기
11.4 자원관리
11.4.1 Pool을 이용한 동시성 관리하기
11.4.2 SLA 및 경고를 사용하여 장기 실행 작업 탐지
요약

CHAPTER 12 운영환경에서 Airflow 관리
12.1 Airflow 아키텍처
12.1.1 어떤 익스큐터가 적합한가?
12.1.2 Airflow를 위한 메타스토어 설정
12.1.3 스케줄러 자세히 살펴보기
12.2 익스큐터 설치
12.2.1 SequentialExecutor 설정
12.2.2 LocalExecutor 설정
12.2.3 CeleryExecutor 설정
12.2.4 KubernetesExecutor 설정
12.3 모든 Airflow 프로세스의 로그 확인
12.3.1 웹 서버 로그 저장
12.3.2 스케줄러 로그 저장
12.3.3 태스크 로그 저장
12.3.4 원격 저장소로 로그 보내기
12.4 Airflow 메트릭 시각화 및 모니터링
12.4.1 Airflow로부터 메트릭 수집하기
12.4.2 측정 항목을 전송하도록 Airflow 구성
12.4.3 메트릭을 수집하도록 Prometheus 구성
12.4.4 Grafana를 이용한 대시보드 생성
12.4.5 무엇을 모니터링해야 하는가?
12.5 실패한 태스크에 대한 알림을 받는 방법
12.5.1 DAG 및 오퍼레이터에서 경고
12.5.2 서비스 수준 계약 정의
12.6 확장성 및 성능
12.6.1 실행중인 태스크의 최대 수 제어
12.6.2 시스템 성능 구성
12.6.3 여러 스케줄러 실행
요약

CHAPTER 13 Airflow 보안
13.1 Airflow 웹 인터페이스에서 보안
13.1.1 RBAC 인터페이스에서 사용자 추가
13.1.2 RBAC 인터페이스 설정
13.2 미사용 데이터 암호화
13.2.1 Fernet Key 생성
13.3 LDAP 서비스로 연결
13.3.1 LDAP의 이해
13.3.2 LDAP 서비스에서 사용자 가져오기
13.4 웹 서버에 대한 트래픽 암호화
13.4.1 HTTPS 이해
13.4.2 HTTPS용 인증서 구성
13.5 시크릿 관리 시스템에서 자격 증명 가져오기
요약

CHAPTER 14 프로젝트: 뉴욕에서 가장 빠른 길 찾기
14.1 데이터에 대한 이해
14.1.1 Yellow Cab 파일 공유
14.1.2 Citi Bike REST API
14.1.3 접근 계획 결정
14.2 데이터 추출
14.2.1 Citi Bike 데이터 다운로드하기
14.2.2 Yellow Cab 데이터 다운로드
14.3 데이터에 유사한 변환 적용
14.4 데이터 파이프 라인 구조화
14.5 재현 가능한 데이터 파이프 라인 개발
요약

PART IV 클라우드에서의 Airflow

CHAPTER 15 클라우드에서의 Airflow
15.1 클라우드 배포 정책 설계
15.2 클라우드 전용 오퍼레이터와 훅
15.3 관리형 서비스
15.3.1 Astronomer.io
15.3.2 구글 Cloud Composer
15.3.3 아마존 Managed Workflows for Apache Airflow
15.4 배포 전략 선택
요약

CHAPTER 16 AWS에서의 Airflow
16.1 AWS에서 Airflow 배포
16.1.1 클라우드 서비스 선택
16.1.2 네트워크 설계
16.1.3 DAG 동기화 추가
16.1.4 CeleryExecutor를 사용하여 스케일링
16.1.5 추가 단계
16.2 AWS 전용 훅과 오퍼레이터
16.3 사용 사례: AWS Athena를 사용한 서버리스 영화 랭킹 구축
16.3.1 개요
16.3.2 리소스 설정
16.3.3 DAG 구현
16.3.4 리소스 정리
요약

CHAPTER 17 Azure에서의 Airflow
17.1 Azure에서 Airflow 배포
17.1.1 서비스 선택
17.1.2 네트워크 설계
17.1.3 CeleryExecutor를 사용하여 확장성 개선
17.1.4 추가 단계
17.2 Azure 전용 훅/오퍼레이터
17.3 예제: Azure Synapse를 사용하여 서버리스 영화 랭킹 구축
17.3.1 개요
17.3.2 리소스 구성
17.3.3 DAG 구현
17.3.4 정리 작업
요약

CHAPTER 18 GCP에서의 Airflow
18.1 GCP에서 Airflow 배포
18.1.1 서비스 선택
18.1.2 헬름으로 GKE에 배포
18.1.3 구글 서비스와 연동하기
18.1.4 네트워크 설계
18.1.5 CeleryExecutor를 사용한 스케일링
18.2 GCP 전용 훅과 오퍼레이터
18.3 사용 사례: GCP에서 서버리스 영화 랭킹 구축
18.3.1 GCS로 데이터 업로드
18.3.2 BigQuery에 데이터 로드하기
18.3.3 최고 영화 평점 추출
요약

APPENDIX A 실행 코드 예제
A.1 코드 구성
A.2 예제 실행
A.2.1 도커 환경 시작하기
A.2.2 실행 중인 서비스 검사하기
A.2.3 환경 제거

APPENDIX B Airflow 1과 2의 패키지 구성
B.1 Airflow 1 패키지 구성
B.2 Airflow 2 패키지 구성

APPENDIX C Prometheus 메트릭 매핑


리뷰

구매자 별점

0.0

점수비율

  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전