Data Engineering/AirFlow

[Airflow] 다른 시스템과 연결하기

쟈누이 2023. 11. 16. 00:02
반응형

1. 다른 시스템과 연결하기

  • Airflow 는 태스크 간 데이터를 전달하는 방법으로 두가지가 있음
    • Airflow 메타스토어를 사용하여 태스크 간 결과를 쓰고 읽는다. 이 방법을 xcom 을 사용하여 데이터를 옮긴다고 한다. 자세한 내용을 아래 링크 참고. xcom 을 사용하여 다른 테스크 간에 데이터 공유 가능
    Airflow Xcom 사용하기
    • 영구적인 위치(디스크 또는 데이터베이스)에 태스크 결과 기록
  • Airflow 태스크는 설정에 따라 물리적으로 서로 다른 컴퓨터에서 독립적으로 실행되므로 메모리에서 데이터를 공유할 수 없음
  • 태스크 간의 데이터는 태스크가 완료된 후 다른 태스크에서 읽을 수 있는 다른 위치에 유지되어야 함.
  • Airflow 는 XCom이라는 기본 메커니즘을 제공, Airflow 메타스토어에서 잠시 저장했다가 다시 읽을 수 있음
  • Airflow 의 메타스토어는 크기가 한정되어 있고 잠시 저장된 객체는 메타스토어의 블롭에 저장되기 때문에 일반적으로 문자열 몇 개와 같은 작은 데이터 전송 시에 적용하는 것이 좋음
  • 좀 더 큰 데이터를 태스크 간에 전송하기 위해서는 Airflow 외부에 데이터를 유지하는 것이 좋음
  • 향후 더 많은 페이지 처리로 데이터 크기가 커질 수 있다는 점을 염두에 두고 XCom 대신 디스크에 결과 저장하는 것이 좋음
  • 태스크 간에 데이터를 저장하는 방법을 결정하기 위해서 데이터가 다시 사용되는 위치와 방법을 알아야 함.
  • 오퍼레이터를 사용하여 데이터를 입력할 수 있음
반응형