본문 바로가기
GrowthHack/BigQuery

GCP - composer 사용하기

by bents 2021. 6. 21.

왜 사용하는가

- 구글에서 공짜로 제공하는 Airflow 

- ETL관련 크론잡을 GCP에서 할 수 있음. (기존에 윈도우 작업스케줄러 사용했었음)

- 대략적인 이해를 원한다면 유투브 영상 추천.

 

구글 가이드 

- 프로젝트 생성 > 컴포저 환경 생성 > DAG 생성 : [Documents] [영상(21분부터)]

- 다양한 DAG 사용법 : [Documents]**

  1) bash operator : command - gcloud, bq, gsutil, kubectl

  2) python operator

  3) bigquery operator 

  4) email operator 

컴포저 환경 생성 방법

 

DAG 생성 방법

    0) 로컬 머신에 quickstart.py 파일을 만듭니다.

    1) COMPOSER 환경의 DAG 폴더 클릭 > 파일 업로드 

    2) 업로드 성공하면, Airflow 웹 서버에 표시됨 (*몇분걸림)

COMPOSER 환경생성완료시, 화면

 파이썬 패키지 설치하는 법

 

 

    1) 내가 원하는 패키지이름(소문자)과 버전을 알아낸다.

    2) COMPOSER 환경의 이름 클릭 > PIP > 수정 클릭 > 패키지 이름 & 버전 입력
    3) "추가"버튼 눌러서 원하는 패키지 추가하기 (*몇분걸림)

composer 이름 클릭 > 환경 세부정보 이동

 

 

어려웠던 점

1. python scripts 를 어떻게 읽어오게 할 것인가?

  - ./dags/scripts/sample.py 에 파일을 업로드함.

  - 이때, scripts에 __init__.py을 만들어줌.

  - ./dags/sample_dag.py을 실행할 때, from scripts.sample import *을 해서 원하는 function 사용함

  - 이때, python_callable 매개변수에 함수명(string)이 아닌 함수객체를 넘겨야 함!!

 

2. BigQueryOperator 작동 안함. 왜지?

  - bq connection id 때문? 

 

 

-