데이터엔지니어링 스타터 키트 -5주차 후기
아래의 내용은 직접 유료강의를 수강하고, 배운점 및 추가로 공부한 내용을 기록한 내용입니다.
프로그래머스에서 진행하는 실리콘밸리에서 날아온 데이터엔지니어링 스타터키트 강의추전!
트랜잭션
상태를 변화시키는 하나의 작업단위
- AutoCommit 이 True인 경우
기본적으로 작성한 SQL 한줄한줄이 다 자동으로 커밋이 되서 DB에 바로바로 적용이 된다.
명시적으로 트랜잭션을 구현하기 위해선 BEGIN과 END구문 사이에 몇가지 쿼리를 넣는다.
그래서 그 몇가지 쿼리들을 하나의 작업단위(하나의 트랜잭션)으로 취급해서 다같이 성공해야 커밋이 되서 DB에 적용.
- AutoCommit이 False인 경우
한줄한줄이 다 트랜잭션이 되서 BEGIN~END구문이 필요하지 않음.
대신 직접 DB에 적용하기 위해선 명시적으로 COMMIT을 수행해야한다.
그 전까지 변경사항은 나한테만 적용되서 보이고 실제 DB에는 적용되지 않는다.
2020.01.12 - 트랜잭션 특징(ACID) /Rollback /Commit
Airflow설치
https://pearlluck.tistory.com/678?category=939868
Airflow WEB UI 둘러보기
설치한 Airflow안에 DAG폴더안에 있는 스크립트를 가지고 생성한 DAG가 나타난다.
그중 하나의 DAG(my_first_dag)를 활성화(온오프 버튼 ON)시키고, 트리거를 실행시키면 (왼쪽에 있는 플레이버튼 클릭)
이렇게 Tree View나 Grap View로 DAG안에 task들의 현재상태를 시각적으로 볼 수 있다.
Airflow DAG 설정 둘러보기
그리고 DAG의 설정옵션도 이렇게 디테일하게 볼 수 있다.
그 중에서 몇가지 살펴보면
- start_date : 가장 헷갈리는 개념인데, 처음 DAG가 실행되는 시간이 아니라 DAG가 COPY하기 시작한 시간이다.
예를 들어 start_date가 7월 26일 오전1시고, 이 DAG는 daily 스케쥴을 가지고 있다면
실제로 실행되는 시간은 7월 27일 오전1시이다. start_date와 다르다! 그래서 이 시간이 되면 자동으로 DAG가 활성화!
- catchup : backfill을 수행할 수 있는 옵션인데
catchup이 False이면 미래만 보고 실행해서 start_date기준으로 과거인 경우는 모두 무시한다.
catchup이 True이면 과거까지 모두 생각해서 start_date기준으로 과거인 모든 경우에 다 실행을 하게 된다.
그래서 이전의 데이터를 한번에 가져와서 task를 수행하도록 하고 싶을때(backfill) 사용한다.
- max_active_runs : DAG가 동시에 몇개 실행할 수 있는가
- concurrency : 하나의 DAG안에서 task가 동시에 몇개 실행할 수 있는가
Airflow DAG 코드 둘러보기
Airflow 2.0에서는 DAG설정시 Tags를 지정할 수 있다. 그래서 DAG를 목적별로 구분하기 쉽다.
현재 예시 DAG는 매일 오전2시마다 스케쥴을 돈다.
그리고 print_hello()와 print_goodbye() PythonOperator로 2개의 task를 생성했다.
수업중에 한 Airflow DAG 복습해보고, 직접 API를 사용해서 DAG를 생성해서 airflow까지 돌려봐야겠다!
그리고 이걸 적용해서 내가 했던 음악추천챗봇까지 적용해보는게 나의 목표!
아 그리고 역시 수업이 점점 어려워지는것 같다..그런데 그럴수록 더 유용하고 유익한게 느껴진다.
다음수업땐 늦잠자지 말고 꼭 출석해야지............
'Book & Lesson' 카테고리의 다른 글
[클린코드] 2장. 의미 있는 이름 (0) | 2022.03.02 |
---|---|
[클린코드] 1장. 깨끗한코드 (0) | 2022.03.02 |
노마드 개발자 북클럽 신청! 노개북 클린코드(Clean Code) (0) | 2022.02.28 |
[데엔스터디4] ETL/Airflow소개 (2) | 2021.09.03 |
[데엔스터디3] 데이터엔지니어를 위한 SQL 실습 (0) | 2021.08.25 |
[Spark강의4-2] Spark 데이터처리 실습2 -DF Transformation (0) | 2021.08.23 |