Airflow 34

Understanding Data Engineering 8-Scheduling data

✅ RECAP 전 포스팅에서 공부한 내용을 복습해 보자. - 데이터 처리의 중요성: 데이터 처리는 원시 데이터(raw data)를 유의미한 정보로 변환하는 과정이다.: 불필요한 데이터를 제거하여 비용 최적화를 하기 위해, 데이터 사용성을 높여 분석 및 활용 용이성을 강화하기 위해 필요하다. - 핵심 개념1. 데이터 압축 : WAV 또는 FLAC 같은 고품질 음악 파일을 더 작은 .ogg 포맷으로 변환해 네트워크 비용을 줄이는 사례: 품질은 유지하면서 스토리지와 전송 비용을 절감 2. 데이터 조직화: 데이터를 구조화하고 정리하여 분석과와 데이터 사이언티스트가 쉽게 접근할 수 있도록 한다.: (예시) 음악 파일에서 메타데이터 추출, 직원 데이터를 특정 테이블 스키마에 맞게 정리한다. 3. 자동화: 데이터 준..

[Airflow] 서울시 공공데이터 API 키 발급받기

서울시 공공데이터 API 키를 발급받는 방법에 대해 소개해드리겠습니다. 아래 링크로 들어가셔서 로그인을 먼저 하시고 인증키 신청을 해야 합니다. https://data.seoul.go.kr/together/mypage/actkeyMain.do 열린데이터광장 메인 데이터분류,데이터검색,데이터활용 data.seoul.go.kr 실시간 지하철 오픈 API를 활용하려면 오른쪽의 '실시간 지하철 인증키 신청'을 누르고, 그 외의 데이터를 활용하려면 '일반 인증키 신청' 버튼을 클릭하시면 됩니다. 인증키를 신청할 때, 사용 URL에는 특별한 사이트 주소가 없다면 그냥 localhost라고 적으시고, 그 외의 칸도 각자의 이메일과 활용용도 등을 적으시면 됩니다. 다 기입하셨다면, 인증키 신청을 클릭합니다. 이제, 서..

[Airflow] Trigger Run 오퍼레이터

이번에는 다른 DAG을 수행시킬 수 있는 'Trigger Run 오퍼레이터' 라는 것에 대해 알아보도록 하겠습니다. Airflow에서는 DAG간의 의존관계는 선-후행 관계입니다. 이를 설정할 수 있는 방법은 크게 2가지가 있는데요, 그 2개 중에 하나인, "TriggerDagRun" 오퍼레이터를 이번 포스팅에서 배워보겠습니다. 1. DAG 간 의존관계 설정 DAG 의존관계 설정 방법 (1) TriggerDagRun 오퍼레이터 오퍼레이터를 이용해서 Task를 만드는 것처럼 TriggerDagRun오퍼레이터로 Task를 만듭니다. task를 만들면서 파라미터를 줄 때, 어떤 DAG을 Trigger할 지 그 DAG의 id를 넣게 되어있습니다. 위 그림을 기준으로, task1이 선행 task고, task2, t..

[Airflow] 지원되는 오퍼레이터 보기

이번 포스팅에서는 여러가지 airflow에서의 오퍼레이터로 뭐가 있는지 다양하게 살펴보겠습니다. 1. 기본 오퍼레이터 : Airflow에서 기본적으로 제공해주는 오퍼레이터를 한 번 살펴보도록 하겠습니다. 파일 경로 오퍼레이터(클래스) 중요도 비고 airflow.models.baseoperator BaseOperator ⭐⭐⭐ - 오펄레이터를 직접 개발하고 싶은 경우, 이 클래스 상속하여 개발 (execute() 함수를 오버라이딩 하여 사용합니다.) - 아래 오퍼레이터들은 모두 이 클래스를 상속하여 개발되어 있습니다. - Airflow를 잘 쓰려면, 이 오퍼레이터 상속/개발하는 것을 자유자재로 할 줄 알아야 합니다. airflow.operators.bash BashOperator ⭐⭐⭐ - bash쉘 스크..

[Airflow] Edge Label

오늘은 간단한 개념인 Edge Label을 짚고 넘어가볼까 합니다. 1. Edge Label 개념이란 무엇일까요? : Task 연결에 대한 설명(Comment)입니다. 굉장히 간단합니다. 말 그대로, Task 간의 edge에 있는 comment를 뜻합니다. 바로 실습을 해보도록 하죠. 2. Edge Label 실습 #1 from airflow.utils.edgemodifier import Label empty_1 = EmptyOperator( task_id='empty_1' ) empty_2 = EmptyOperator( task_id='empty_2' ) empty_1 >> Label('1과 2사이') >> empty_2 먼저, 라벨을 달려면, airflow.utils.edgemodifier에서 Lab..

반응형