728x90

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->구글이 훨씬 낫다)

 

 

728x90

+ Recent posts