인프라 구축기EC2의 t3.large로 Airflow를 구축한 상황에서 AI 학습 및 예측을 진행해야 하는 문제에 직면했다. 그러나 Airflow Worker(LocalExecutor)만 사용한다면, 과부하가 올 것이라는 확신이 있었기에 AI를 위한 추가 인스턴스를 생성하고자 하였다. 이에 따라 Terraform 작업을 진행하게 되었으며, 진행 내용은 다음과 같다.AI Server를 위한 EC2 인스턴스 추가Airflow에서 EC2를 Start/Stop 하기 위한 IAM 사용자 생성lambda 함수에 AI Server를 추가하고, 특정 시간에 Start/Stop 되도록 수정EC2 인스턴스 추가 및 사용자 생성instance/ec2.tfAMI는 Amazon Linux 2023, 인스턴스는 t2.micro ..
schedule_interval 개념과 사용법schedule_interval은 Airflow의 DAG 실행 주기를 설정하는 파라미터이다. 이 설정을 통해 DAG 실행을 자동화하여 특정 시각에 정해진 작업을 수행한다. 이 글에서는 schedule_interval의 개념과 사용법을 소개한다. 만약 Scheduling을 진행할 때 Airflow의 시간 개념 (Interval Start, Interval End, Logical Date)에 대해 알지 못한다면, 아래의 글을 참고하면 된다. [Airflow] DAG Scheduling과 ExecutionAirflow Scheduling과 Execution개요Airflow 관리Airflow를 사용하면서 반드시 알아야 할 것이 "작성한 DAG가 언제, 얼마나 실행되는..
EC2 (Start/Stop) InstanceOperator 사용 예시EC2의 t3.large로 Airflow를 구축한 상황에서 AI 학습 및 예측을 진행해야 하는 문제에 직면했다. 그러나 Airflow Worker(LocalExecutor)만 사용한다면, 과부하가 올 것이라는 확신이 있었기에 AI를 위한 추가 인스턴스를 생성하였다. 이에 따라 AI 관련 Task를 실행할 때만, 해당 EC2를 켜두기 위해 Airflow의 EC2 관련 Operator를 사용하고자 하였다. 이처럼 EC2로 인한 비용 절약을 목적으로 EC2 (Start/Stop) InstanceOperator를 정리해두려고 한다.코드는 공식문서 참고 : EC2Hook의 start(), end(), wait_for_state() 메서드를 활용..
csv vs parquet vs avro vs orc데이터를 저장, 처리하기 위해 csv, parquet, avro, orc 등의 다양한 파일 유형을 사용한다. 각 유형에 따라 특징이 존재하며, 데이터 처리의 성능이 달라진다. 이에 따라 파일 유형이 데이터 처리 비용과 성능을 좌우할 수 있기에 상황에 맞는 것을 선택해 활용하는 것이 중요하다. 그중에서 가장 알려져 있고, 자주 사용되는 유형인 csv, parquet, avro, orc 유형의 개념과 장단점, 유스케이스를 알아보자.대용량 데이터 저장 = 높은 비용긴 읽기/쓰기 시간 = 느린 시스템, 높은 연산 능력높은 연산 능력 = 비용 증가csv (Comma-Separated Values)# csv 파일 예시 (test.csv)timestamp,produ..