Airflow Operators, Variables and Connections
-> execution date는 후에 backfill할때 매우 중요, 데이터의 start date가 아닌 dag가 실행되는 그 날짜로 지정될 수 있도록 하는 것이 중요하다.
-> Truncate 쿼리는 별도로 커밋설정해도, 바로 실행되므로 사용에 주의 해야 한다.
-> 연결시 계정과 여러 variables를 하드코딩 하지 않고, 하나의 인자로 활용 가능한 air flow의 기능
airflow를 UI에서 실행 가능하지만 터미널에서 실행하면 디버깅하고 테스트 하기 좋다.
airflow primary key유지 방법
프로덕션 데이터베이스 -> 데이터 웨어하우스
-> S3 에서 redshift로의 작업이 가장 효율적이다. 같은 aws프로그램 내 + copy command사용
1. airflow와 mysql을 연결해준다(mysql connection설정)
2. S3 connection 설정
3. mysql 데이터 점검하고 redshift에 빈 테이블 생성
4. mysql_to_redshift DAG task구성(mysql -> S3 -> redshift)
-> data가 커진다면, create/updated/ date, deleted(boolean) 기준으로 incremental update/ backfill 이 필수가 된다. \
summary table 구현
airflow configuration for production usage
airflow aws connection 설정
정리
1. 자주 바뀌는 sql은 dag에 코드로 넣지 말기, 그러면 일일이 dag를 바꾸고 배포 해야한다.
-> variable 형태로 관리/ 따라서 코드로 넣을지 아닐지에 대한 고민도 필요하다.
2. incremental update하는 경우에는 execution _date 사용 필수
3. 가능한 airflow 클라우드를 사용하자. (aws/google cloude->구글이 훨씬 낫다)
'DE > Study' 카테고리의 다른 글
[DE NanoDegree PR 1] Data Modeling - RDBMS (0) | 2022.03.12 |
---|---|
[DE NanoDegree PR 1] Data Modeling - what is data modeling (0) | 2022.02.27 |
프로그래머스[데이터 엔지니어링 스타터 키트]필기 : ETL&Airflow (0) | 2021.08.28 |
프로그래머스[데이터 엔지니어링 스타터 키트]필기 : SQL (0) | 2021.08.23 |
프로그래머스[데이터 엔지니어링 스타터 키트] 필기 : AWS&Cloud&Redshift 간단한 개념 (0) | 2021.08.19 |