Data Mining & Distributed (22) 썸네일형 리스트형 [ Airflow ] MySQL, PostgreSQL - 기본 Database 설정하고 생성하기 Apache Airflow 설치 후 데이터베이스를 초기화하고 설정하려면 다음과 같은 절차를 따라야 합니다. Airflow는 SQLite, MySQL, PostgreSQL 등을 지원하며, 기본적으로 SQLite를 사용하지만, 프로덕션 환경에서는 MySQL이나 PostgreSQL을 사용하는 것이 권장됩니다. 1. 데이터베이스 설치 및 설정PostgreSQL 또는 MySQL 설치데이터베이스가 설치되어 있지 않다면 아래 명령어를 통해 설치합니다.PostgreSQL 설치 sudo apt update sudo apt install postgresql postgresql-contribMySQL 설치 sudo apt update sudo apt install mysql-server데이터베이.. [ Airflow ] operator - 여러 개의 operator를 생성해서 병렬 처리 확인하는 Dag 등록하기 Airflow에서 부하 테스트를 수행하려면 DAG(Directed Acyclic Graph)를 생성하여 여러 작업(Task)을 병렬로 실행하는 워크플로를 설계할 수 있습니다. LocalExecutor는 병렬 처리를 지원하므로 부하 테스트를 수행하기에 적합합니다. 아래는 Airflow DAG 예제입니다. 1. Airflow 설정 확인airflow.cfg 파일에서 executor 설정이 LocalExecutor로 설정되어 있는지 확인하세요: [core] executor = LocalExecutorparallelism, dag_concurrency, max_active_runs_per_dag, max_active_tasks_per_dag 등을 설정하여 부하를 조정할 수 있습니다. 2. DAG 파일 생성/d.. [ Airflow ] db init - PostgreSQL 과 함께 초기 설정하기 데이터 베이스 설치 후 airflow.cfg를 설정을 해야 합니다.그 후 db init를 통해서 데이터 베이스를 사용해야 합니다. 1. airflow.cfg 생성 시점airflow.cfg 파일은 Airflow를 처음 설치한 뒤 airflow CLI를 실행하면 생성됩니다. 즉, airflow db init 명령을 실행하기 전에 CLI를 한 번 실행하면 기본 설정 파일이 생성됩니다.예를 들어:airflow versionairflow info위 명령을 실행하면 Airflow 설치 디렉토리에 airflow.cfg 파일이 자동으로 생성됩니다. 2. PostgreSQL 설정 선행 가능 여부airflow db init 이전에 PostgreSQL과 같은 외부 데이터베이스 설정을 할 수 있습니다. 이를 위해 airflo.. [ Airflow ] schedule - 일정 주기로 dag 실행하기 Airflow에서 특정 주기로 DAG을 실행하려면 schedule_interval 속성에 적절한 값을 설정해야 합니다. 아래는 요청하신 주기를 설정하는 방법입니다: 1. 2분에 한 번 실행크론 표현식:schedule_interval="*/2 * * * *"*/2: 매 2분마다 실행.예: 00:02, 00:04, 00:06, ... 2. 10분에 한 번 실행크론 표현식:schedule_interval="*/10 * * * *"*/10: 매 10분마다 실행.예: 00:10, 00:20, 00:30, ... 3. 2시간에 한 번 실행크론 표현식:schedule_interval="0 */2 * * *"*/2: 매 2시간마다 실행.0: 매 2시간마다 정확히 정각(분 0)에 실행.예: 02:00, 04:00, 06.. [ Airflow ] schedule - 스케쥴러 시간 설정하기 Apache Airflow에서 스케줄러의 시간 설정은 주로 DAG의 schedule_interval 속성을 통해 이루어지며, 이를 통해 워크플로가 언제 실행될지 제어합니다. 시간 설정에 사용되는 주요 규칙은 다음과 같습니다:1. schedule_interval 설정 형식schedule_interval은 DAG 실행 주기를 정의하며, 다양한 형식을 지원합니다.a) 크론 표현식 (Cron Expression)* * * * * 형식의 문자열로 주기적 실행을 정의.각 필드는 다음과 같이 해석됩니다:분 (minute): 0–59시간 (hour): 0–23일 (day of month): 1–31월 (month): 1–12요일 (day of week): 0–7 (0과 7은 일요일)예: "0 9 * * *": 매일 오.. [ Dask ] install - Dask 설치하고 예제를 실행해 보기 (distributed) Ubuntu에서 Dask를 사용하는 방법은 크게 아래의 순서로 진행됩니다. Dask는 Python으로 작성된 병렬 컴퓨팅 라이브러리로, 데이터 분석과 작업 스케일링을 돕는 강력한 도구입니다.1. Python 환경 준비Dask는 Python 3.7 이상에서 실행됩니다. Python 환경이 없는 경우 아래 명령어로 설치하세요.sudo apt updatesudo apt install python3 python3-pip python3-venv2. Dask 설치Dask는 PyPI를 통해 쉽게 설치할 수 있습니다.2.1 가상환경 생성python3 -m venv daskenvsource daskenv/bin/activate2.2 일반 설치pip install dask2.3 확장된 설치Dask는 추가적인 패키지와 함께.. [ Airflow ] Celery, Dask, Kubernetes, Ray - Executor 비교 설명하기 분산 작업을 관리하고 실행하기 위한 프레임워크 및 도구인 Celery, Dask, Kubernetes, Ray는 각기 다른 사용 사례와 아키텍처에 최적화되어 있습니다. 이들의 주요 특징과 차이점을 비교 설명하겠습니다.1. Celery주요 사용 사례:주로 비동기 작업 처리(asynchronous task queue) 및 백그라운드 작업 실행에 사용.일반적인 웹 애플리케이션에서 작업 대기열(task queue)로 활용.특징:단순하고 사용하기 쉬운 API.브로커(예: RabbitMQ, Redis)를 사용하여 작업을 큐에 넣고, 워커(worker)가 작업을 소비.작업의 성공/실패 상태를 추적 가능.Python 중심이지만 다른 언어와도 연동 가능.확장성:수평 확장 가능하지만 대규모 데이터 처리는 비효율적.장점:직.. [ 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 이상주요 특징:스케일링 개선.. 이전 1 2 3 다음