일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터 웨어하우스
- Docker
- AWS
- 운영체제
- S3
- Django
- 정리
- 컴퓨터 네트워크
- http
- 종류
- HADOOP
- 데브코스
- Go
- 데이터 파이프라인
- linux
- 데이터엔지니어링
- 가상환경
- 컴퓨터네트워크
- 데이터베이스
- TIL
- 데이터 엔지니어링
- sql
- PYTHON
- redshift
- 파이썬
- TCP
- dockerfile
- 자료구조
- airflow
- airflow.cfg
- Today
- Total
목록분류 전체보기 (183)
홍카나의 공부방
최단 경로 문제 최단 경로 알고리즘은 가장 짧은 경로를 찾는 알고리즘을 의미한다. 일반적으로 그래프에서 지점을 노드(Node)로 표현하고, 노드간 연결된 선은 간선(Edge)으로 표현한다. 대표적인 최단 경로 알고리즘으로 다익스트라 알고리즘이 존재한다. 다익스트라 최단 경로 알고리즘 특정 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산한다. 다익스트라 알고리즘은 매 상황에서 가장 비용이 적은 노드를 선택해 임의의 과정을 반복한다. (그래서 그리디 알고리즘으로 분류하기도 한다.) 알고리즘의 동작 과정은 다음과 같다. 출발 노드를 설정한다. 최단 거리 테이블을 초기화한다. 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택한다. 해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단 ..
Hello World DAG 만들어보기 Python Operator를 이용하여 Airflow dag를 만들어본다. from airflow.operators.python import PythonOperator from datetime import datetime from airflow import DAG dag = DAG( dag_id ="helloWorld", start_date = datetime(2021,8,26), catchup=False, tags = ['example'], schedule = '0 2 * * *' ) def print_hello(): print("hello!") return "hello!" def print_world(): print("world!") return "world!"..
Airflow 실습을 하다가 task 하나가 실패해서 원인을 찾고자 했다. 1. DAG의 Python 코드를 다시 살펴본다. -> 눈으로 봤을땐 딱히 잘못된 부분이 없어보여서 넘어갔다. 2. airflow CLI를 통해 여러 test를 해본다. airflow dags test {DAG이름} {EXECUTATION_DATE} airflow tasks test {DAG이름} {task이름} {EXECUTAION_DATE} 위 코드로 특정 DAG나 task를 test할 수 있는데, 이 테스트로 딱히 찾지 못했다. 3. 웹 UI 에서 실패한 log를 살펴본다. 이런 식으로 task 정보를 살펴보면 Logs 탭에 로그 기록이 남는다. 나의 경우 SQL INSERT 문에서 작은 따옴표를 작성할 때, INPUT 값에..
airflow를 설치할 때 Airflow.cfg도 함께 제공된다. 이 파일로 airflow의 동작, 설정, 옵션을 수정할 수 있는데 파일 안에 뭐가 있는지 알아야 맛보고 즐길 수 있을 것이다. airflow.cfg 내부의 일부분을 살펴본다. docker를 사용하고 있다면, airflow-webserver 컨테이너 내부의 airflow.cfg를 살펴보면 되겠다. (이 글은 airflow 2.5.1 버전을 기준으로 작성되었다.) 1. DAGs 폴더는 어디에 지정되는가? dags_folder 변수에 절대 경로로 DAG들이 저장되는 폴더를 지정할 수 있다. 보통 코드 레파지토리의 하위폴더 경로로 설정한다고 한다. 기본 값은 /opt/airflow/dags 일 것이다. 2. DAGs 폴더에 새로운 Dag를 만들면..