일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- HTML
- AWS
- 데이터 엔지니어
- 데이터 시각화
- VPC
- django
- cloud platform
- SQL
- Snowflake
- Spark
- 슈퍼셋
- Kafka
- Tableau
- 팀 프로젝트
- beuatifulsoup
- PCCP
- 코테 연습
- superset
- Selenium
- 코딩 테스트
- GCP
- 데브코스
- airflow
- Til
- 코딩테스트
- Today
- Total
주니어 데이터 엔지니어 우솨's 개발일지
데이터 엔지니어링 43일차 TIL 본문
학습내용
Airflow
delete from
- sql transaction을 존중
truncate
- sql transaction을 존중하지 않고 전부 삭제
Admin - Connections
: 백엔드의 호스트 이름, 포트넘버 등을 저장
Admin - Variables
: API Key, Value 등을 저장
Xcom이란?
: 태스크(Operator)들간에 데이터를 주고 받기 위한 방식
- 보통 한 Operator의 리턴값을 다른 Operator에서 읽어가는 형태가 된다.
- 이 값들은 Airflow 메타 데이터 DB에 저장이 되기에 큰데이터를 주고 받는데에는 사용이 불가능하다.
- 보통 큰 데이터는 S3등에 로드하고 그 위치를 넘기는 것이 일반적이다.
cp -r
: cp는 복사하는 기능, -r은 서브폴더까지 모두 복사하라는 옵션
ls -tl
: ls는 폴더 내 파일들을 리스트로 보여줌, -tl은 읽기,쓰기 등의 기능도 같이 보여주는 옵션
PostgresHook의 Autocommit 파라미터
- Default 값은 False이다
- 이 경우 Begin은 아무런 영향이 없다(no-operation)
- commit이나 end를 해주어야 영향이 감
DAG에서 task를 어느정도로 분리하는 것이 좋을까?
- task를 많이 만들면 전체 DAG이 실행되는데 오래 걸리고 스케줄러에 부하가 간다.
- task를 너무 적게 만들면 모듈화가 안되고 실패시 재실행하는 시간이 오래 걸린다.
- 오래 걸리는 DAG이라는 실패시 재실행이 쉽게 다수의 task로 나누는 것이 좋다.
=>task의 수를 너무 늘리지는 않되 재실행 이슈 발생시 시간을 줄일 수 있는 방법을 생각해서 적절하게 나누어야한다.
Airflow의 Variable관리 vs 코드 관리- 장점 : 코드 푸시의 필요성이 없다.
- 단점 : 관리나 테스트가 안되어서 사고로 이어질 가능성이 있다.
도커내 파워셀 접속
docker exec -it <도커이름> sh >> 일반으로 접속
docker exec --user root -it <도커이름> sh >>root계정으로 접속
'데브코스' 카테고리의 다른 글
데이터 엔지니어링 45일차 TIL (1) | 2024.06.05 |
---|---|
데이터 엔지니어링 44일차 TIL (1) | 2024.06.05 |
데이터 엔지니어링 42일차 TIL (0) | 2024.06.05 |
데이터 엔지니어링 41일차 TIL (1) | 2024.06.05 |
데이터 엔지니어링 35일차 TIL (0) | 2024.06.05 |