데브코스 TIL/데이터 파이프라인, Airflow 17

Airflow 기본 프로그램 실행

강의 Airflow 코드 기본 구조 DAG 대표하는 객체 생성 : DAG 이름, 실행주기, 실행날짜, 오너 DAG 구성 태스크 생성 : 오퍼레이터 선택. 태스크 ID 부여 및 작업 세부사항 지정 태스크 실행 순서 결정 DAG Trigger 방법 Airflow Web UI cmd airflow dags list airflow tasks list dag_v1 airflow tasks test dag_v1 ls 2020-08-09 airflow dags test dag_v1 2019-12-08 airflow dags backfill dag_v1 -s 2019-01-01 -e 2019-12-31 Bash Operator 사용 예시 from airflow import DAG from airflow.operator..

Airflow 설치

강의 Airflow 설치 방법 직접 설치 Docker Desktop 사용 git clone https://github.com/yen/airflow-setup.git cd airflow-setup curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.5.1/docker-compose.yaml' docker-compose -f docker-compose.yaml pull docker-compose -f docker-compose.yaml upc 리눅스 서버 사용 : AWS EC2 및 우분투 20.04 AWS 계정 필요 : Free Tier가 아니므로 비용 발생 고려 Airflow 설치 과정에서 3개의 어카운트가 사용됩니다. ubuntu : 메인 어카운트 ..

Airflow 소개

강의 "Airflow"는 파이썬으로 작성된 데이터 파이프라인(ETL) 프레임워크 입니다. 데이터 파이프라인 스케줄링 지원 웹 UI도 제공 데이터 소스와 데이터 웨어하우스 통합 용이하게 만드는 모듈 제공 Backfill 기능 제공 "DAG"(Direted Acyclic Graph)는 Airflow에서의 데이터 파이프라인 입니다. 하나의 DAG는 다수의 태스크로 구성되어 있습니다. "태스트"는 Airflow의 Operator로 만들어 집니다. 이미 만들어진 오퍼레이터를 사용하거나 직접 새로운 오퍼레이터를 개발할 수 있습니다. 오퍼레이터 종류 Redshift writing Postgres query S3 Read/Write Hive query Spark job shell script Airflow 구성 Air..

ETL 작성 실습

강의 ETL 개요 1. schema 밑에 테이블 생성 # Colab 환경 !pip install ipython-sql==0.4.1 !pip install SQLAlchemy==1.4.49 %load_ext sql postgresql://ID:PW@learnde.cduaw970ssvt.ap-northeast-2.redshift.amazonaws.com:5439/dev DROP TABLE IF EXISTS keeyong.name_gender; CREATE TABLE yen.name_gender ( name varchar(32) primary key, gender varchar(8) ); import psycopg2 # Redshift connection 함수 # 본인 ID/PW 사용! def get_Reds..

데이터 파이프라인 소개

강의 "데이터 파이프라인"은 데이터를 소스로부터 목적지로 복사하는 작업 입니다. 대부분의 경우 코딩(파이썬 혹은 스칼라) 혹은 SQL을 통해 데이터 웨어하우스로 복사합니다. 데이터 소스 Click stream call data ads performance data transactions sensor dat metadata API log files 데이터 목적지 데이터 웨어하우스 캐시 시스템 (Redis, Memcache) 프로덕션 데이터베이스 NoSQL S3 데이터 파이프라인 종류 Raw Data ETL Jobs 데이터 엔지니어가 수행하는 작업 입니다. 외부 및 내부 데이터 소스에서 데이터 추출 (API) 적당한 데이터 포맷 변환 (데이터 크기가 크면 Spark 사용) 데이터 웨어하우스 로드 Summar..