전체보기 153

Airflow DAG 작성 예제 1, 2

강의 DAG 파라미터 "DAG parameters"는 Task parameters와 다르게 DAG 객체를 만들 때 지정합니다. max_active_runs max_active_tasks catchup DAG 폴더 주의 사항 Airflow의 dags 폴더 주기적으로 스캔 → DAG 모듈의 모든 파일 메인 함수 실행 → 개발 중인 테스트 코드 실행 가능 Connetions와 Variables Connetions 일부 연결 관련 정보 저장 : hostname, port number, access credential Postgres 연결 혹은 Redshift 연결 정보 저장 Variables API 키 혹은 일부 구성 정보 저장 값 암호화 가능 : access 혹은 secret 사용 Xcom "Xcom"은 태스..

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 : 메인 어카운트 ..

리눅스 이해하기

강의 리눅스 리눅스 타입 우분투(ubuntu) 데비안 레드햇 페도라 리눅스 프로그램 기능 ssh : 리눅스 혹은 유닉스 서버에 로그인해주는 프로그램 혹은 터미널 private key 및 public key 사용 sudo : 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램 apt-get : 우분투/데비안 계열의 프로그램 설치 및 삭제를 관리하는 프로그램 apt-get update apt-get install su(substitue user) : 현재 사용 중인 사용자 계정을 로그아웃하지 않고 다른 사용자의 권한을 얻음 vi : 텍스트 에디터

데브코스 TIL 2023.12.12

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..