일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 파이썬
- sql
- 데이터 웨어하우스
- 정리
- 자료구조
- PYTHON
- HADOOP
- 데이터 엔지니어링
- 운영체제
- AWS
- 종류
- 데이터엔지니어링
- Go
- linux
- dockerfile
- 데브코스
- 컴퓨터네트워크
- 데이터 파이프라인
- S3
- TIL
- TCP
- http
- Django
- redshift
- 가상환경
- 데이터베이스
- airflow.cfg
- airflow
- 컴퓨터 네트워크
- Docker
- Today
- Total
목록전체 글 (183)
홍카나의 공부방

from airflow.operators.python import PythonOperator airflow DAG의 위 코드를 해석해보면 airflow > operators > python의 PythonOperator 클래스(또는 함수)를 불러오라 로 해석할 수 있다. DAG에서 외부 함수를 가져오려면 import 경로를 어떻게 해줘야 할까? docker에 있는 airflow container로 들어가서 sys.path 변수에 담겨있는 경로로 파이썬 파일을 집어넣으면 된다. 컨테이너 내부에서 파이썬을 실행시키고 sys.path를 출력해주면 import할 수 있는 여러 경로들이 리스트 형태로 나온다. ' ', 는 실행하는 파이썬 파일과 동일한 경로를 지칭하며, 아래 5가지는 pip로 설정된 경로다. sy..
On Unix or MacOS, using the bash shell: source {가상환경 폴더 이름}/bin/activate On Unix or MacOS, using the csh shell: source {가상환경 폴더 이름}/bin/activate.csh On Unix or MacOS, using the fish shell: source {가상환경 폴더 이름}/bin/activate.fish On Windows using the Command Prompt: {가상환경 폴더 이름}\Scripts\activate.bat On Windows using PowerShell: {가상환경 폴더 이름}\Scripts\Activate.ps1 나는 가상환경 폴더 이름을 보통 .venv로 주니까 이때 맥에서는 ..

쉘 스크립트는 Unix/Linux Shell 명령을 이용하여 만들어지고, 인터프리터에 의해 한 줄씩 처리되는 파일이다. 주로 파일 이름에 .sh 확장자를 붙인다. Airflow의 Bash Operator 안에다가 shell 명령어를 입력하면 동작하게 된다. 쉘 명령어는 복잡한 로직을 처리하는 경우에 사용한다. Worker 컨테이너가 쉘 스크립트를 수행하려면, 쉘 파일을 인식하게 만들어야 한다. 그러나 Docker의 특성상 컨테이너는 외부의 파일을 인식할 수 없다. 그리고 컨테이너 안에 파일을 만들어줘도 컨테이너 재시작시 파일이 사라진다. 이에 대한 해결 방법은 /plugins:/opt/airflow/plugins 폴더에 쉘 파일을 넣어두는 것이다. .yaml 파일에는 기본적으로 Docker Volume을..

에어플로우에서 크론 스케쥴은 Task가 실행되는 시간,주기를 정하기 위한 5개의 문자열 필드를 나타낸다. {분} {시} {일} {월} {요일}로 표현하며 예시는 다음과 같다. Examples) 30 5 * * * : 매일 05시 30분 0 * * * * : 매시 정각 1 * * * * : 매시 1분 0 0 10 * * : 매월 10일 0시 0분 30 9 * * 0 : 매주 일요일 09시 30분 */5 * * * * : 5분마다 (0분, 5분…) ( / 특수 문자는 증가값 지정을 의미) 5 9 * * 1-5 : 월요일부터 금요일까지 09시 5분에 배치 0 9-15/1 * * * : 09시부터 15시까지 1시간 마다 30 23 L * * : 매월 마지막 일 23시 30분에 배치 0 9 * * 3#4 : 매월..