전체 글 373

Airflow - Web UI로 Variables와 Connections 세팅

실행 데모 앞서 5가지 버전을 실행해보자 git clone https://github.com/learndataeng/learn-airflow 웹 UI(이번 시간) 와 Command line 두 개를 사용 사전 준비 - 파일 다운로드 실습을 따라 진행했다면 위와 같이 dags 폴더에 위와 같은 3개의 DAGs가 존재할 것입니다. (저는 D드라이브의 Dev_KDT 디렉토리의 airflow-setup 폴더에 실습을 위한 git을 clone했었습니다.) 터미널에서 dags가 아닌 airflow-setup으로 이동 후 'git clone https://github.com/learndataeng/learn-airflow' 명령을 입력합니다. D:\Dev_KDT\airflow-setup>git clone https:..

Airflow 2023.12.13

Airflow - Redshift Connection 설정 & Decorators

이제 Coon ID인 redshift_dev_db를 이용하면 다른 값들을 굳이 조회하거나 노출할 필요 없이 사용할 수 있습니다. NameGenderCSVtoRedshift.py 개선하기 #4 Redshift Connection 사용하기 NameGenderCSVtoRedshift_v4.py schema 변경 잊지 말기! PostgresHook을 import from airflow.providers.postgres.hooks.postgres import PostgresHook Connections로 개선 def get_Redshift_connection(autocommit=True): hook = PostgresHook(postgres_conn_id='redshift_dev_db') conn = hook.g..

Airflow 2023.12.13

Airflow - Name Gender 예제 프로그램 포팅

https://touchingdata.tistory.com/194 Airflow - 숙제 리뷰와 트랜잭션 Python ETL 개선하기 데이터 웨어하우스에서 테이블을 업데이트 하는 방법은 두 가지라고 말씀 드렸습니다. 1. Full Refresh 단순하고 강력하지만 데이터의 크기가 커질수록 시간이 오래걸립니다. 이 touchingdata.tistory.com 지난 시간 Name Gender csv파일을 Redshift에 적재하는 파이프라인 실습을 진행한 적이 있습니다. 이 때 만든 프로그램을 Airflow로 포팅하며 Airflow에서의 프로그래밍이 어떻게 진행되는지 이해하는 시간을 가져보겠습니다. Colab Python 코드를 Airflow로 포팅하기 1. 헤더가 레코드로 추가되는 문제 해결 2. Idem..

Airflow 2023.12.13

Airflow 기본 프로그램 실행

Airflow 코드의 기본 구조 DAG 대표하는 객체를 먼저 만듬 - DAG 이름, 실행주기, 실행날짜, 오너 등의 여러 파라미터를 지정 다음으로 DAG를 구성하는 태스크들을 만듬 - 태스크별로 적합한 오퍼레이터를 선택 - 태스크 ID를 부여하고 해야할 작업의 세부사항 지정 최종적으로 태스크들간의 실행 순서를 결정 DAG 설정 예제 (1) DAG 설정을 할 때 가장 첫번째로 할 일은 모든 태스크(Task)들에게 공통적으로 적용되는 설정인 default_args를 설정하는 일입니다. from datetime import datetime, timedelta default_args = { 'owner': 'jon', 'email': ['jon@hotmail.com'], 'retries': 1, 'retry_d..

Airflow 2023.12.12

Airflow 설치 - 도커 사용

바로 앞서 살펴보았던 EC2 방식보다 더 간단합니다. 사실 가장 좋은 방법은 사양이 좋은 EC2 서버를 구축하고 그곳에 도커를 설치한 후 도커 컨테이너로 Airflow를 실행하는 것입니다. 실습 도커 엔진 설치 Airflow 설치 - Airflow 도커 이미지 다운로드 - Airflow 도커 컨테이너 실행 Airflow 웹 UI 접근 컴퓨터 사양이 좋다면(RAM 8GB 이상) 꼭 따라하세요. Docker 설치 방법 - Windows https://touchingdata.tistory.com/174 Superset - Docker 설치 Docker 설치 https://docs.docker.com/desktop/install/windows-install/ Install Docker Desktop on Win..

Airflow 2023.12.12

Airflow 설치 - EC2 사용

우분투 20.04 사용 AWS EC2 t3.small나 t3a.small 인스턴스를 사용할 예정 2 CPU, 2 GB Memory, 8GB SSD Disk 사용 AWS 계정 필요 위 인스턴스 타입은 Free Tier가 아니기에 비용이 발생함을 인지 - t3.small 인스턴스의 경우 한달 비용이 $18.72 - t3a.small 인스턴스의 경우 한달 비용이 $16.85 가능하면 실제 개발 실습은 Docker 환경을 사용하고 이 설치 과정은 그냥 시청 리눅스 이해하기 우분투 (ubuntu): 리눅스 타입 중의 하나. 다른 타입은 데비안, 레드햇, 페도라, ... ssh: 리눅스 혹은 유닉스 서버에 로그인해주는 프로그램 (터미널) - private key와 public key를 사용 (키페어를 사용) sud..

Airflow 2023.12.12

Airflow 설치 개요

Airflow 설치 방법 직접 설치하고 운영 우리가 사용할 방법. 뒤에서 설명 클라우드 사용 AWS: MWAA (Managed Workflows for Apache Airflow) 사용 구글 클라우드: Cloud Composer 사용 Microsoft Azure: Azure Data Factory에 Airflow DAGs 기능 존재 클라우드는 학습과 작은 프로젝트에는 부담, 기본적으로 3대의 서버를 운영하기 때문에 비용이 높음 직접 설치 방법 두 가지 방법을 보여드리겠습니다. 1. 개인 PC에 도커 설치 후 Airflow를 이미지로 다운 후 컨테이너로 실행 2. AWS EC2 등의 리눅스 서버에 직접 설치 (우분투 20.04 사용) 위의 2가지 방법을 모두 알려드리지만 앞으로의 Airflow 실습은 도커..

Airflow 2023.12.12