Data Engineering

Data Engineering/Airflow

[Airflow] @task, Task Decorator의 개념과 사용 예시, 주의할 점

@task 개념과 사용 예시, 주의할 점Airflow는 워크플로우의 각 단계를 Task로 정의하며, Task를 추가하기 위해 Operator를 사용한다. Airflow 2.0부터 TaskFlow API가 도입되어 Task Decorator인 @task를 활용해 Task를 정의할 수 있게 되었다. 이번 글에서는 @task의 개념과 사용 방법, 예시, 유스케이스를 소개하려고 한다.Airflow Taskflow 공식 문서Python Decorator와 @task의 개념Python Decorator 개념Python의 Dacorator는 함수의 기능을 확장하거나 수정하기 위해 사용하는 디자인 패턴이다. 보통 함수 위에 "@이름" 형태로 선언되며, 함수 호출 전후에 특정 작업을 수행하거나 함수의 동작을 변경할 수 ..

Data Engineering/Airflow

[Airflow] schedule_interval 개념과 사용법

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가 언제, 얼마나 실행되는..

Data Engineering/Airflow

[Airflow] EC2 (Start/Stop) InstanceOperator 사용 예시

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() 메서드를 활용..

Data Engineering/빅데이터

[빅데이터] csv vs parquet vs avro vs orc

csv vs parquet vs avro vs orc데이터를 저장, 처리하기 위해 csv, parquet, avro, orc 등의 다양한 파일 유형을 사용한다. 각 유형에 따라 특징이 존재하며, 데이터 처리의 성능이 달라진다. 이에 따라 파일 유형이 데이터 처리 비용과 성능을 좌우할 수 있기에 상황에 맞는 것을 선택해 활용하는 것이 중요하다. 그중에서 가장 알려져 있고, 자주 사용되는 유형인 csv, parquet, avro, orc 유형의 개념과 장단점, 유스케이스를 알아보자.대용량 데이터 저장 = 높은 비용긴 읽기/쓰기 시간 = 느린 시스템, 높은 연산 능력높은 연산 능력 = 비용 증가csv (Comma-Separated Values)# csv 파일 예시 (test.csv)timestamp,produ..

기억에 남는 블로그 닉네임
'Data Engineering' 카테고리의 글 목록