Data Mining/Airflow (7) 썸네일형 리스트형 [ Airflow ] 버전별 특징 알아보기 Apache Airflow는 워크플로우와 데이터 파이프라인을 작성하고 모니터링하는 데 사용되는 오픈 소스 도구입니다. 버전 별로 주요 변경 사항과 특징은 다음과 같습니다.1. Apache Airflow 1.10.x지원 Python 버전: Python 2.7 및 Python 3.5 이상주요 특징:초기 단계에서의 안정된 기능 제공기본적인 태스크 스케줄링 및 DAG 관리 가능Executor로 LocalExecutor, SequentialExecutor, CeleryExecutor 지원Python 2.7 지원(마지막 버전)한계:Python 2.7 지원 종료 이후 유지보수가 중단됨DAG 관리와 UI의 한계2. Apache Airflow 2.x지원 Python 버전: Python 3.6 이상주요 특징:스케일링 개선.. [ Airflow ] Celery, Ray - 비교 설명하기 Apache Airflow에서 Celery와 Ray는 각각 분산 실행기를 구현하기 위해 사용할 수 있는 도구로, 작업 분산 처리 및 병렬화에 접근하는 방식이 다릅니다. 아래는 Celery와 Ray의 주요 차이점과 각각의 특징을 비교한 설명입니다.1. Celery특징:분산 태스크 큐 기반 프레임워크: Celery는 태스크 큐(queue)를 기반으로 분산 작업을 관리합니다.태스크 지향 설계: 각 작업이 독립적으로 큐에 들어가며, 워커(worker)가 이를 소비하는 구조입니다.Airflow에서의 역할:CeleryExecutor를 사용하여 DAG 내 태스크를 여러 워커 노드에서 병렬로 실행합니다.RabbitMQ 또는 Redis를 메시지 브로커로 사용합니다.장점:오래된 프로젝트로, 매우 안정적이고 많은 커뮤니티 .. [ Airflow ] Airflow 설치하기 - Ubuntu Ubuntu에서 Apache Airflow를 설치하는 방법을 단계별로 안내하겠습니다. Airflow는 워크플로우 자동화 및 스케줄링 도구로, 여러 방법으로 설치할 수 있습니다. 가장 일반적인 방법은 pip 패키지 관리자를 사용하는 것입니다.1. Ubuntu 업데이트 및 기본 패키지 설치먼저 시스템 패키지를 업데이트하고 필요한 도구를 설치합니다:sudo apt updatesudo apt upgrade -ysudo apt install -y python3-pip python3-dev libpq-dev2. Python 가상환경 설정 (권장)가상환경을 사용하여 Airflow와 그 종속성을 관리하는 것이 좋습니다.sudo apt install -y python3-venvpython3 -m venv airflow-.. [ Airflow ] dag 파일 등록하기 Apache Airflow에서 DAG 파일을 등록하는 방법은 다음과 같습니다:DAG 파일 생성:DAG 파일은 Python 스크립트로 작성됩니다. 파일 확장자는 .py이며, Airflow에서 인식할 수 있도록 DAG 객체를 정의해야 합니다.예시 코드: from airflow import DAG from airflow.operators.dummy_operator import DummyOperator from datetime import datetime default_args = { 'owner': 'airflow', 'start_date': datetime(2024, 10, 11), 'retries': 1, } dag = .. [ Airflow ] 외부에서 대시보드 접속하기 Apache Airflow의 웹 대시보드를 외부에서 접근할 수 있도록 설정하려면 다음 단계들을 따르면 됩니다.1. Airflow 설정 파일 (airflow.cfg) 수정airflow.cfg 파일에서 webserver 섹션을 수정합니다.bind_address: Airflow 웹 서버가 바인딩할 IP 주소를 설정합니다. 모든 IP에서 접근 가능하도록 하려면 0.0.0.0으로 설정합니다. [webserver] bind_address = 0.0.0.0port: 웹 서버가 사용할 포트를 설정합니다. 기본값은 8080입니다. web_server_port = 80802. 방화벽 및 네트워크 설정Airflow가 설치된 서버의 방화벽 또는 클라우드 인프라 (예: AWS, GCP 등)의 네트워크 설정에서 .. [ Airflow ] Task Status 상태의 종류와 의미 Apache Airflow에서 Task의 상태(Task Status)는 작업의 진행 상황을 추적하는 데 매우 중요한 요소입니다. Airflow의 Task 상태는 여러 가지로 나뉘며, 각 상태는 특정한 의미를 지닙니다. 아래는 Airflow의 주요 Task 상태와 그 의미에 대한 설명입니다.1. Success (success)설명: Task가 정상적으로 완료된 상태입니다. 모든 작업이 오류 없이 실행되었고, 정의된 모든 조건을 충족한 경우입니다.의미: Task가 성공적으로 실행되었으며, DAG 내에서 다음 단계로 진행할 수 있습니다.2. Running (running)설명: Task가 현재 실행 중인 상태입니다.의미: Worker에서 Task가 할당되어 실행되고 있으며, 아직 종료되지 않은 상태입니다.3... [ Airflow ] Airflow 설치하기 Apache Airflow는 워크플로우 자동화 및 스케줄링을 위한 오픈소스 툴로, 주로 데이터 엔지니어링 및 파이프라인 작업에서 많이 사용됩니다. Airflow를 설치하는 방법은 여러 가지가 있지만, 일반적으로 가장 많이 사용하는 방법은 pip을 이용한 설치입니다. 아래는 Python 환경에서 Airflow를 설치하는 방법입니다.1. Python 및 pip 설치 확인Airflow는 Python으로 작성된 도구이기 때문에 Python 3.7 이상이 필요합니다. 먼저, Python 및 pip가 설치되어 있는지 확인하세요.python --versionpip --version2. 가상환경 생성 (권장)다른 Python 패키지들과의 충돌을 방지하기 위해 가상환경을 사용하는 것이 좋습니다.# 가상환경 생성pytho.. 이전 1 다음