Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- PER
- IOS
- Excel
- ASP
- urllib
- javascript
- 맛집
- 유니티
- 라즈베리파이
- Unity
- python
- tensorflow
- MySQL
- 다이어트
- PyQt5
- node.js
- mssql
- Linux
- GIT
- port
- pandas
- PyQt
- 함수
- 날짜
- sqlite
- swift
- MS-SQL
- 리눅스
- ubuntu
- flutter
Archives
아미(아름다운미소)
airflow 초기셋팅 본문
your-project-directory/
│
├── dags/ # DAG 파일을 저장하는 디렉토리
│ └── your_dag.py # 예시 DAG 파일
│
├── Dockerfile # Dockerfile
│
└── docker-compose.yml # docker-compose.yml 파일
Dockerfile
FROM apache/airflow:2.5.0
# 한국 시간대 설정
ENV TZ=Asia/Seoul
RUN apt-get update && apt-get install -y tzdata && \
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone
docker-compose.yml
version: '3'
services:
airflow-webserver:
build: .
restart: always
depends_on:
- airflow-scheduler
ports:
- "8080:8080"
environment:
- AIRFLOW__WEBSERVER__SECRET_KEY=your_secret_key
- AIRFLOW__CORE__EXECUTOR=LocalExecutor
- AIRFLOW__CORE__DAGS_FOLDER=/opt/airflow/dags
- TZ=Asia/Seoul # 한국 시간대 설정
volumes:
- ./dags:/opt/airflow/dags
airflow-scheduler:
build: .
restart: always
environment:
- AIRFLOW__CORE__EXECUTOR=LocalExecutor
- AIRFLOW__CORE__DAGS_FOLDER=/opt/airflow/dags
- TZ=Asia/Seoul # 한국 시간대 설정
volumes:
- ./dags:/opt/airflow/dags
airflow-init:
build: .
command: ["airflow", "db", "init"]
environment:
- AIRFLOW__CORE__EXECUTOR=LocalExecutor
- TZ=Asia/Seoul # 한국 시간대 설정
volumes:
- ./dags:/opt/airflow/dags
docker-compose build
docker-compose up
your_dag.py
from airflow import DAG
from airflow.operators.dummy import DummyOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2023, 11, 17),
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG(
'my_kst_dag',
default_args=default_args,
description='A simple DAG running on KST',
schedule_interval='0 0 * * *', # UTC 기준으로 매일 자정 (한국 시간 오전 9시)
)
start = DummyOperator(task_id='start', dag=dag)
Comments