전체 글

개발에 대한 내용을 주로 다루는 블로그입니다.
개발/Data Engineering

Apache Airflow 재수행 방법 정리

Apache Airflow을 구축해서 운영하다보면 이런저런 이유들로 인해 DAG을 재수행해야하는 일이 발생한다. raw 데이터 오류, 집계 로직 오류 등의 이유로.. 재수행하는 방법에 대해서 정리해본다. 일단 크게 DAG run 단위로 재수행하거나 task 단위로 재수행하는 방법으로 구분할 수 있을 것 같다. # DAG run clear 하기 DAG run을 clear해서 DAG run이 다시 수행되게 하는 방법이다. DAG run을 눌러 나오는 Clear 버튼을 눌러 clear하면 해당 DAG run이 재수행된다. 상단의 Browse > DAG Runs 메뉴에서 목록으로 DAG run을 조회하여 Clear the status 버튼을 통해 Clear하는 방법도 가능하다. # Task clear 하기 ta..

개발/Data Engineering

Apache Airflow DAG 간의 dependency 설정

Apache Airflow의 DAG 내에 task들의 dependency를 설정함으로써 task 실행 순서와 병렬 실행 task들 등을 정의할 수 있는데, Airflow를 조금이라도 사용해 봤다면 이것은 당연히 알 것이다. 그리고 Airflow에서는 2.1 버전부터 DAG 내 task들 뿐만 아니라 DAG 간의 dependency를 설정할 수 있는 기능도 제공한다. 설정할 필요성을 생각해보면, A라는 DAG이 B라는 DAG 로직에서 생성한 데이터가 있어야만 정상적으로 수행 가능하다고 하자. 그러면 B DAG의 수행 시간(schedule_interval)을 A DAG이 일반적으로 종료되는 시간 이후로 설정하는 방법이 있는데 충분히 여유를 두고 설정하더라도 A DAG 수행이 모종의 이유로 특별히 오래 걸렸다..

개발/리눅스

리눅스 bash 쉘 환경 설정 파일

환경 설정 파일에는 시스템 초기화 파일과 사용자 초기화 파일이 있다. 시스템 초기화 파일 시스템을 사용하는 전체 사용자의 공통 환경을 설정하는 파일이다. /etc 디렉토리에 존재한다. 많이 사용하는 bash 쉘의 경우 다음과 같은 파일들이 있다. /etc/profile /etc/bashrc /etc/profile.d/*.sh : /etc/profile 파일에서 /etc/profile.d 하위의 sh 파일들을 source 하도록 되어있다. 사용자 초기화 파일 각 사용자 홈 디렉토리에 존재하며 개별 사용자의 환경을 설정하는 파일이다. 많이 사용하는 bash 쉘의 경우 다음 세 개가 있다. .profile .bash_profile .bashrc 이중 .profile, .bash_profile은 같은 것으로 보..

개발

Dockerfile 에서 CMD, ENTRYPOINT 사용시 환경 변수 로딩 문제

도커 이미지를 만들기 위해 Dockerfile을 작성하게 되는데, 컨테이너 생성 시 실행할 명령어를 지정하기 위해 Dockerfile 내에 CMD, ENTRYPOINT 명령어를 사용하게 된다. 컨테이너가 생성되며 웹 서버, DB 서버 등 어플리케이션을 구동시킬 때 많이 사용하게 되는데 이럴 경우 리눅스 환경 변수 로딩은 되지 않는 경우가 발생할 수 있다. 구동시킨 어플리케이션에서 이런 환경 변수가 필요하지 않다면 문제될 것이 없지만 필요하다면 정상적으로 동작하지 않을 수 있기 때문에 이 부분에 관해서 알아두고 정상적으로 로딩되게할 필요가 있다. 작성자 같은 경우에는 Apache Airflow를 ENTRYPOINT 명령어를 통해 구동시키게 Dockerfile을 작성하고 컨테이너 구동 후에 Airflow D..

개발

자주 사용하는 Docker 명령어 모음

1. 컨테이너 실행하여 쉘 사용하기 docker run -it \ -v {로컬 경로}:{docker 컨테이너에서 사용할 경로} --rm {docker 이미지} {명령어} # example docker run -it \ -v /Users/user/dev:/Users/user/dev \ --rm registry.domain.com/some_image:1.0.0 /bin/bash Usage docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS -v, --volume list : Bind mount a volume -t, --tty : Allocate a pseudo-TTY -i, --interactive : Keep STDIN open even if not attac..

기타

Queen(퀸), 프레디 머큐리 노래 추천

2018년에 개봉한 영화 보헤미안 랩소디 이후로 퀸 음악에 대한 사람들의 관심이 많아진 것 같다. 퀸 노래를 이전부터 들어왔는데 영화에 나오는 노래 이외에도 좋은 노래들이 많다. 영화 개봉한지는 한참 되었지만 개인적으로 추천하는 퀸 노래 목록이다. 특별히 난해하거나 듣기 어려운 노래는 없고 대부분 좋아할만한 노래일 것 같다. 퀸 노래 외에도 프레디 머큐리 솔로곡도 포함되어 있다. Too much love will kill you 2000년대 초반에 SM3 자동차 광고에 쓰였던 곡이라 나이가 좀 있다면 한번쯤 들어봤음직한 곡이다. https://www.youtube.com/watch?v=ivbO3s1udic I was born to love you 이 노래는 여기저기 광고에 많이 사용되서 한번쯤 들어봤을 ..

bebeside77
Spread your wings