자동화 6

Terraform Variables

variables.tf Terraform의 변수는 variables.tf를 통해 선언하고 사용한다. 변수 형태는 여러 가지 종류가 있으므로 변수 선언 방식에 대해서 알아보자 ## 기본 변수 variable "project" { type = string } ## 배열 형태 변수 variable "region" { type = list(string) default = ["asia-northeast1", "asia-northeast2", "asia-northeast3"] } ## Object 형태 변수 variable "vpc" { type = object({ vpc_name = string ip_cidr_ragne = string network = string }) } ## Object 형태 변수 - 배열 ..

GCP 2023.03.14

Airflow - MySqlOperator

관련 패키지 설치 - Mysql Provider를 설치 # pip install apache-airflow-providers-mysql==2.1.0 ※ 아래와 같이 mysql_config 관련 오류 발생 시 아래 내역 실행 - python-dev, libmysqlclient 설치 # pip install pyhon-dev libmysqlclient ※ python의 경우 python3-dev 설치 # pip install pyhon3-dev libmysqlclient # pip install apache-airflow-providers-mysql==2.1.0 MySQL Connection 생성 - DB 계정 생성 # mysql -u root -p > create user 'sqladmin'@'%' ide..

Airflow 2022.07.29

Airflow - Executor

Executor란? - Task가 실행되는 메커니즘으로 Airflow 당 하나의 Executor만 가질 수 있습니다. - Executor는 파이썬 패키지를 통해 설치가 가능하면 airflow.cfg 에서 옵션을 변경하여 변경 할 수 있습니다. Executor 종류 https://airflow.apache.org/docs/apache-airflow/stable/executor/index.html Executor — Airflow Documentation airflow.apache.org 위의 페이지에서 전체 Executor 목록에 대해서 확인 가능하며, 주로 사용하는 Executor 들의 특성에 대해서 정리해보았습니다. SequentialExecutor Airflow 설치 시 가장 기본으로 제공되는 Exe..

Airflow 2022.06.28

Airflow DB 변경

Airflow DB 변경 - Airflow DB 변경하는 이유 : 기본적으로 Airflow를 설치하면 Sqllite를 기본 DB로 사용하게 되는데 Sequential Executor를 제외한 다른 Executor를 사용하기 위해서는 DB 변경이 필요하다. : 주로 Airflow 에서는 postgresql을 사용한다. DB(postgresql) 설치 - DB 설치 방법은 간단하다. # sudo apt-get update postgresql - 설치가 완료되었으면 패키지 설치를 진행하였으므로, postgres user가 자동으로 생성된다. # su - postgres # psql =# create database airflow_db =# \list ## example =# create user airflow..

Airflow 2022.06.27

DAG 작성하기 - 1

DAG란? DAG(Directed Acyclic Graph) 방향성 비순환 그래프의 약자로 원하는 데이터를 얻긱 위해 실행되는 여러 테스크 또는 동작의 흐름으로 화살표의 방향성의 끝점을 포함하되 반복이나 순환을 허용하지 않습니다. 그래서 아래 내용을 바탕으로 보면 'download_lauches' task가 먼저 실행이 되며, 해당 task가 정상적으로 실행되어야 'get_pictures' task가 실행되며 위와 같이 순차적으로 task들이 실행이 되며, 사용자는 이러한 종속성에 맞게 DAG안에 task들을 다양한 Operator들을 통해 정의하게 되며 Python, Yaml, Bash 등 여러 가지 언어가 사용 가능하므로 복잡한 task들의 조합을 통해 효율적인 데이터 파이프라인을 구성할 수 있습니다..

Airflow 2022.05.31