Data Mining & Distributed/Airflow (21) 썸네일형 리스트형 [ Airflow ] ubuntu + Airflow + postgresql + dask - 설치하기 Ubuntu에서 Apache Airflow를 설치하는 방법을 단계별로 안내하겠습니다. Airflow는 워크플로우 자동화 및 스케줄링 도구로, 여러 방법으로 설치할 수 있습니다. 가장 일반적인 방법은 pip 패키지 관리자를 사용하는 것입니다.1. Ubuntu 업데이트 및 기본 패키지 설치먼저 시스템 패키지를 업데이트하고 필요한 도구를 설치합니다:sudo apt updatesudo apt upgrade -ysudo apt install -y python3 python3-pip2. Python 가상환경 설정 (권장)가상환경을 사용하여 Airflow와 그 종속성을 관리하는 것이 좋습니다.sudo apt install -y python3-venvpython3 -m venv airflow-venvsource air.. [ Airflow ] 3가지 방법으로 동시 실행 제한하기 Airflow에서 하나의 DAG 내에서 동시에 실행되는 작업의 수를 제한하려면 여러 가지 방법을 사용할 수 있습니다. 주요 방법으로는 DAG 수준과 Task 수준에서 동시 실행 수를 제한하는 설정이 있습니다.1. DAG 수준에서 동시 실행 제한max_active_runs 파라미터를 사용하여 하나의 DAG 내에서 동시에 실행될 수 있는 DAG 인스턴스의 수를 제한할 수 있습니다.max_active_runs: 이 파라미터는 DAG가 동시에 실행할 수 있는 최대 인스턴스 수를 제한합니다. 예를 들어, 이 값을 1로 설정하면 하나의 DAG 인스턴스만 실행됩니다.from airflow import DAGfrom datetime import datetimedag = DAG( 'my_dag', start_.. [ Airflow ] max_active_runs - 동시 작업 개수 제한하기 max_active_runs는 Airflow에서 하나의 DAG가 동시에 실행할 수 있는 최대 인스턴스 수를 제한하는 파라미터입니다. 이 설정을 사용하면 여러 DAG 인스턴스가 동시에 실행되는 것을 방지하고, 시스템에 과부하가 걸리는 것을 방지할 수 있습니다. 1. max_active_runs 설정 방법max_active_runs는 기본적으로 16으로 설정되어 있습니다. 즉, 기본적으로 한 DAG에서 동시에 16개의 인스턴스가 실행될 수 있습니다. 이를 더 낮거나 높게 설정할 수 있습니다.예를 들어, 이 값을 1로 설정하면, DAG가 동시에 한 번만 실행되도록 제한할 수 있습니다.예제 1: max_active_runs 설정을 사용한 간단한 DAGfrom airflow import DAGfrom airflo.. [ Airflow ] concurrency - 동시 작업 개수 제한하기 Airflow에서 concurrency는 하나의 DAG 내에서 동시에 실행될 수 있는 작업(Task)의 수를 제한하는 파라미터입니다. 즉, concurrency는 DAG 수준에서 실행되는 작업의 수를 제한하여 시스템 리소스를 효율적으로 관리할 수 있도록 도와줍니다.1. concurrency 사용 방법concurrency는 DAG 객체의 파라미터로 설정하며, 해당 DAG 내에서 동시에 실행할 수 있는 최대 작업 수를 지정합니다. 이를 통해 DAG 내에서 실행되는 작업의 수를 제어할 수 있습니다.예제: concurrency를 사용하는 기본적인 DAGfrom airflow import DAGfrom airflow.operators.dummy_operator import DummyOperatorfrom date.. [ Airflow ] task_concurrency - 동일 작업 개수 제한하기 task_concurrency는 Airflow에서 개별 Task가 동시에 실행될 수 있는 최대 인스턴스 수를 제한하는 파라미터입니다. 이를 통해, 특정 작업에 대해 병렬 실행 수를 제어하고, 리소스를 효율적으로 사용할 수 있습니다.task_concurrency는 주로 리소스 소모가 많은 작업이나 외부 시스템과의 통신을 포함하는 작업에서 유용합니다. 예를 들어, 외부 API에 요청을 보내거나, 파일 시스템에서 데이터를 읽고 쓸 때, 이 값은 동시에 실행되는 작업 수를 제한하여 시스템 과부하를 방지할 수 있습니다.1. task_concurrency 사용법task_concurrency는 개별 Task에 대해 설정할 수 있으며, 해당 Task가 동시에 실행될 수 있는 최대 수를 정의합니다. DAG 내의 다른 T.. [ Airflow ] RestAPI 사용하기 Apache Airflow에서 REST API를 인증된 사용자와 비밀번호를 통해 사용할 수 있게 설정하려면 다음 단계를 따르세요: 1. 사용자 계정 생성Airflow의 CLI를 사용하여 사용자 계정을 생성합니다.airflow users create \ --username admin \ --firstname Admin \ --lastname User \ --role Admin \ --email admin@example.com \ --password yourpassword이 명령은 admin이라는 이름의 사용자 계정을 생성합니다. REST API에 접근하려면 이 사용자 계정을 사용합니다. 2. REST API 활성화Airflow는 기본적으로 REST API가 활성화되어 있습니.. [ Airflow ] 1년에 한 번 실행 되는 DAG 설정으로 excution_date 이해하기 Airflow에서 start_date를 2023년과 2024년으로 설정한 경우, 2024년 10월 1일에 한 번 실행되는 DAG의 실행 가능 여부를 이해하려면 Airflow의 start_date, execution_date, 그리고 schedule_interval의 동작을 알아야 합니다.현재는 2024년 8월 1일로 가정합니다. 1. Airflow의 핵심 동작 원리start_date:DAG의 스케줄 계산이 시작되는 기준 날짜.Airflow는 start_date 이후부터 schedule_interval을 기준으로 실행 일정을 계산합니다.execution_date:Airflow는 과거의 데이터를 처리하기 위해 예약된 실행 날짜(execution_date) 기준으로 실행합니다.DAG가 실제 실행되는 시간은 e.. [ Airflow ] start_date, schedule 설정하기(1년 주기) Airflow에서 1년에 1번 실행하는 DAG의 경우, execution_date가 실제 실행 시간보다 1년 전이어야 하는지 여부는 Airflow의 스케줄링 동작과 관련이 있습니다. 1. Airflow의 동작 원리execution_date의 의미execution_date는 DAG 실행이 예약된 날짜를 나타냅니다.실제 DAG가 실행되는 시간은 execution_date 이후입니다.예:start_date=datetime(2023, 1, 1)이고 schedule_interval='@yearly'이면, DAG는 2023년 데이터를 처리하기 위해 2024년 1월 1일에 실행됩니다.실행 주기의 타임라인Airflow는 schedule_interval에 따라 스케줄링을 계산하며, DAG는 항상 이전 주기를 처리합니다... 이전 1 2 3 다음