본문 바로가기

반응형

Data Mining & Distributed/Airflow

(29)
[ Airflow ] EmailOperator에 대해서 알아보기 EmailOperator도 Airflow의 기본적인 Operator 중 하나로, 매우 자주 사용됩니다.1. EmailOperator 개요항목 설명클래스명airflow.operators.email.EmailOperator기능이메일을 전송하는 작업을 수행사용 목적DAG 실행 결과 알림, 오류 보고, 사용자 통지 등2. 기본 사용 예시from airflow.operators.email import EmailOperatoremail_task = EmailOperator( task_id='send_email', to='user@example.com', subject='Airflow Alert', html_content='Task has been completed successfully!',)..
[ Airflow ] Operator 종류 알아보기 Airflow “core / 기본” Operator 와 주요 Provider 패키지(예: AWS, GCP, Azure 등)에 포함된 대표 Operator 종류들을 정리했습니다.아래는 Airflow 에서 자주 쓰이는 Operator 들의 카테고리 및 예시 목록입니다.1. 기본 / Core / Standard OperatorsAirflow 자체 또는 기본 제공 Provider 패키지에 있는 Operator 들입니다. (Apache Airflow)카테고리 Operator / 종류 설명 / 특징실행형 (Action)BashOperator셸 명령 실행 (Apache Airflow) PythonOperatorPython 함수 호출 (Apache Airflow) PythonVirtualenvOperator가상환경 내..
[ Airflow ] 예제 분석 Dataset을 사용한 스케쥴링 이 코드는 Apache Airflow의 Dataset 기반 스케줄링 기능을 활용한 DAG 집합을 정의한 예제입니다. Airflow 2.4부터 도입된 Dataset은 DAG 간 의존성 관리와 트리거 조건을 명확하게 구성할 수 있게 해주는 매우 강력한 기능입니다.[ CODE ]from __future__ import annotationsimport pendulumfrom airflow.datasets import Datasetfrom airflow.models.dag import DAGfrom airflow.operators.bash import BashOperatorfrom airflow.timetables.datasets import DatasetOrTimeSchedulefrom airflow.timet..
[ Airflow ] Groups에 속한 명령어 알아보기 좋습니다. 아래는 Airflow 2.11.0 이하 기준으로 airflow 명령어 중 사용하신 목록에 포함된 정식 CLI 그룹 명령어들의 사용법을 상세히 정리한 것입니다.각 항목은 다음과 같은 구성으로 설명드립니다:명령어 그룹기본 구조주요 서브 명령어 목록사용 예시 [ 명령어 ]config View configurationconnections Manage connectionsdags Manage DAGsdb Database operationsjobs Manage jobspools Manage poolsproviders Display providerstasks Manage tasksvaria..
[ Airflow ] Ubuntu + Airflow + Postgresql + Local Executor - 설치하기 Ubuntu에서 Apache Airflow를 설치하는 방법을 단계별로 안내하겠습니다. Airflow는 워크플로우 자동화 및 스케줄링 도구로, 여러 방법으로 설치할 수 있습니다. 가장 일반적인 방법은 pip 패키지 관리자를 사용하는 것입니다.현재 Airflow는 3.x 버전이 있습니다.개인적으로 2.x UI를 좋아해서 아직 3.x 버전으로 이동하지 않았습니다.그리고 저에게만 발생하는 문제인지는 알 수 없지만 2.9.0 이상 버전에서 Scheduler의 Heart beat를 감지할 수 없다는 에러가 발생하여 제 블로그에서는 [Ubuntu 22.04, RHEL 7.9 or 8.0 ] + Airflow 2.9.0 버전을 추천합니다. 1. Ubuntu 업데이트 및 기본 패키지 설치먼저 시스템 패키지를 업데이트하..
[ Airflow ] Dag 간에 작업 순서 연결하기 🌱TriggerDagRunOperator와 ExternalTaskSensorAirflow에서 DAG 간의 실행 순서나 의존성을 간접적으로 연결하기 위해 사용하는 도구들입니다.둘 다 DAG와 DAG 사이를 이어주는 역할을 하지만, 의도와 쓰임새가 완전히 다릅니다.1. 두 연산자의 목적과 차이항목TriggerDagRunOperatorExternalTaskSensor주 목적다른 DAG을 실행시키는 것다른 DAG의 Task 상태를 기다리는 것실행 여부직접 다른 DAG을 실행함스스로는 실행하지 않고, 기다림의존 방식능동적(Trigger): A DAG → B DAG 실행수동적(Sensor): B DAG ← A DAG 완료 대기사용 예"A DAG이 끝나면 B DAG을 시작해라""B DAG은 A DAG이 끝났는지 확..
[ Airflow ] task 실패처리를 위한 예외 처리하기 🌱Airflow 예외 처리를 위해서 raise 사용하기Airflow에서 예외 처리를 할 때 Python의 기본 예외 처리 문법인 raise 키워드를 사용합니다. Airflow 자체도 Python 기반이기 때문에, 일반적인 Python 예외 처리 방식을 그대로 따릅니다.raise는 특정 조건에서 예외를 강제로 발생시켜 작업의 흐름을 멈추거나, 상위 시스템(예: Airflow 스케줄러)에게 문제가 발생했음을 알Airflow 예외 처리를 위해서 raise 사용하기리는 용도로 사용됩니다.1. raise 기본 설명raise는 예외(Exception)를 강제로 발생시킵니다.일반적으로 try-except 블록과 함께 사용되며, 특정 상황에서 에러를 발생시키거나 다시 던질 수 있습니다.기본 사용 예시def divid..
[ Airflow ] Ubuntu + Airflow + Postgresql + Dask Executor - 설치하기 Ubuntu에서 Apache Airflow를 설치하는 방법을 단계별로 안내하겠습니다. Airflow는 워크플로우 자동화 및 스케줄링 도구로, 여러 방법으로 설치할 수 있습니다. 가장 일반적인 방법은 pip 패키지 관리자를 사용하는 것입니다. 1. Ubuntu 업데이트 및 기본 패키지 설치먼저 시스템 패키지를 업데이트하고 필요한 도구를 설치합니다:sudo apt updatesudo apt upgrade -ysudo apt install -y python3 python3-pip 2. Python 가상환경 설정 (권장)가상환경을 사용하여 Airflow와 그 종속성을 관리하는 것이 좋습니다.sudo apt install -y python3-venvpython3 -m venv airflow-venvsource a..

반응형