목록전체 글 (137)
now is better than never

쉘 스크립트 Unix/Linux Shell 명령을 이용하여 만들어지고 인터프리터에 의해 한 줄씩 처리되는 파일 Echo, mkdir, cd, cp, tar, touch 등의 기본적인 쉘 명령어를 입력하여 작성 변수를 입력받거나 For 문, if 문 그리고 함수도 사용 가능 쉘 명령어를 이용하여 복잡한 로직을 처리 쉘 명령어 재사용 plugins : 커스터마이징한 py, sh 파일을 컨테이너와 연동 노란색 박스 /plugins 를 쉘 스크립트 파일이 있는 디렉토리로 변경 from airflow import DAG import pendulum from airflow.operators.bash import BashOperator with DAG( dag_id="dags_bash_select_fruit", sc..
CRON 스케쥴 TASK 가 실행되어야 하는 시간(주기)을 정하기 위한 다섯 개의 필드로 구성된 문자열 분 / 시 / 일 / 월 / 요일 요일 0 : 일요일 - 6 : 토요일 문자 종류 * 모든 값 - 범위 지정 , 여러 값 지정 / 증가값 지정 (시작값/증가값) L 마지막 값 (일 / 요일) - 일 : 해당 월 마지막 일 - 요일 : 토요일 # 몇 번째 요일 예시 0 * * * * 매시 정각에 도는 시간단위 배치 0 0 1 * * 매월 1일 정각 monthly 배치 (월단위 배치) 0 0 * * 1 매주 월요일 정각 weekly 배치 (주단위 배치) 0 9-18 * * * 매일 9시부터 18시까지 정각 0 1 1,2,3 * * 매월 1, 2, 3일 1시 */30 * * * * 30분 마다 30 12 *..

Bash Operator 오퍼레이터 특정 행위를 할 수 있는 기능을 모아 놓은 클래스, 설계도 TASK 오퍼레이터에서 객체화(인스턴스화)되어 DAG에서 실행 가능한 오브젝트 Bash Operator 쉘 스크립트 명령을 수행하는 오퍼레이터 오퍼레이터로 객체를 생성 -> TASK TASK 수행 주체 스케줄러 DAG Parsing : task 관계 파악 등 DB에 정보 저장 : task/주기 등등 저장 DAG 시작시간 결정 워커 실제 작업 수행 스케줄러와 워커 사이에 큐가 있을 수도 있음 스케줄러가 시킨 DAG 파일을 찾아서 처리 처리가 되기 전후 메타DB에 업데이트 from __future__ import annotations import datetime import pendulum from airflow ..
1. 설치 (생략) git --version 2. 디렉토리 이동 cd airflow/project 3. 로컬 리포지토리 생성 git init 4. gitignore 파일 생성 touch .gitignore 4-1. .gitignore 파일에 venv 입력 5. 파일 변경사항 저장 git add .gitignore git status 6. 로컬 리포지토리 커밋 -m : 코멘트와 함께 저장 git config --global user.email "[이메일]" git config --global user.name "[이름]" git commit -m "최초 .gitignore 파일 생성" 7. 로그 확인 git log 8. 로컬 리포지토리 - 원격 리포지토리 연결 및 확인 origin 이라는 이름의 원격 리포..
pwd : 현재 디렉토리 경로 출력 ls : 현재 디렉토리의 파일 목록 출력 -a : 숨겨진 파일까지 출력 .파일명 : 숨겨진 파일 -l : 자세히 출력 cd : 디렉토리 변경 mkdir : 디렉토리 생성 touch : 새로운 파일 생성 rm : 파일 삭제 -r : 디렉토리 포함 -f : 강제함 cp : 파일 복사 cp [복사할 파일] [파일명] -r : 디렉토리 복사 mv : 파일 이동/이름 변경 mv [파일명] [이동할 디렉토리명] mv [파일명] [변경할 파일명] 디렉토리와 변경할 파일명이 같으면 디렉토리 우선 tar : 파일/디렉토리를 압축 해제 tar cvf [압축할 파일명.확장자] [대상 파일명] cvf : 압축 xvf : 압축 해체 vi 편집기 j : 아래로 k : 위로 i : 편집 모드 ..
Airflow 란? 파이썬을 이용해 워크플로우를 만들고 관리할 수 있는 오픈소스 기반 워크플로우 관리 도구 2014년 에어비앤비에서 만든 워크플로우 관리 솔루션 워크플로우 생성 시 파이썬으로 구현해야 함 Cron 기반의 스케줄링 Cron : 리눅스에서 주로 사용 TASK 가 실행되어야 하는 시작 시간, 주기를 설정 모니터링 및 실패 작업에 대한 재실행 기능이 간편 running : 실행 중 (성공) queued : 실행 예정 skipped : 생략 Airflow 요소 ex) REST API 를 사용한 데이터를 받아 전처리 -> 기존 DB 데이터 삭제 -> 전처리한 데이터 삽입 DAG : Directed Acyclic Graph DAG 안에는 1개 이상의 Task가 존재 Task간 선후행 연결이 가능하되 ..