Airflow

 

Airflow 구성

Airflow 기초 용어

  • 워크플로우 - 연결된 작업집합
  • DAG - 작업 파이프라인
  • Task - DAG의 세부 작업


서버의 종류

  • 웹서버와 스케줄러서버


기타 용어

  • Metastore 파이프라인 정보를 기록하는 곳
  • Executor: 작업반장
  • Worker: 일꾼
  • Operator: 기계


Airflow 메뉴들

  • DAGs: 작업들을 모아 놓음
    Dags_ex) example_branch_datetime_operator


UI

  • Schedule: @daily 반복 주기
  • 좌측에는 실시간 정보가 나옴. 중앙에는 정보의 상세 값
  • 토글_Auto-refresh: 진행상태를 실시간 업데이트


Airflow DAG 만들어보기

Airflow관련, 터미널 명령어

0. db 생성: airflow db init

계정 추가: airflow users create -u alpacoms -p 1234 -f paco -l al -r Admin -e admin@admin.com


1. 재실행시 (.pid 파일을 삭제)


2. Airflow 서버 실행 (새 터미널)

airflow webserver -p 8080

lsof -i :8080

kill -9 [제거할id]


3. 비서 (새 터미널)

airflow scheduler


4. 실패 로그 제거

홈페이지: Browse > DAG Runs


전체 과정

1. sql 테이블
2. 크롤링 준비
3. 크롤링
4. 전처리
5. 저장
6. dag완료 알리기


0. 준비과정

- 네이버 크롤링 API키 코드에 삽입
- naver_search_pipline.py  코드 작성 및 저장
- Airflow dag에서 'naver'검색 (naver_search_pipline 로 접속)


width DAG(

setting들 나열하는 곳

) as dag:

작업 내용.


1. sql 테이블

- 테이블 생성 코드 작성

- naver_search_pipline > Graph 탭에 코드 인식된 것 확인

- Admin > Connection

- sqlite3 (뷰용) 설치, 코드로 db가 생성되었는지 확인.


2. 크롤링 준비 (체크)

- http 커넥션 생성하기

- dag 안에 코드 넣기
- dag 안에 넣은 코드만 실행해 보기 ('task-id')
   airflow tasks test naver-search-pipeline is_api_available

- response_check 는 리턴이다.


3. 크롤링

- 네이버 검색 결과를 가져올 오퍼레이터를 만든다.

- 검색 결과 전처리하고 csv 저장

- csv 파일로 저장된 것을 테이블에 지정


4. 각 함수들을 연결

creating_table >> is_api_available >> crawl_naver >> preprocess_result >> store_result >> print_complete


댓글 쓰기

다음 이전