Airflow 공식 홈페이지의 설치 과정을 참고하여 포스팅하였습니다. https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html 준비 과정 필요한 S/W Docker Docker Compose
DAG 코드 Airflow 공식 홈페이지에 나와 있는 샘플 DAG 코드는 다음과 같다. 코드를 ~/airflow/dags/ 디렉토리에 tutorial.py로 저장한다. code [파일명].py 명령을 이용하면 VSC (Visual Studio Code) 편집기 창
Source to Target ETL Pipeline을 만들기 전에 한 시스템에 연결하여 간단한 처리를 해보는 작업을 진행해본다. On-premise DB로 MySQL을 운영 중이라고 가정하고, Local MySQL에 연결해서 Query를 실행시키는 Pipeline을
아래 연결 정보 입력 후 [Test] 진행하여 연결을 확인한다.
AWS S3 서비스로 이동하여 버킷 만들기 클릭버킷 이름 입력 후 버킷 만들기 클릭생성된 버킷 확인IAM 서비스로 이동한 뒤 로그인할 계정 선택한다.보안 자격 증명 탭 - 액세스 키 에서 엑세스 키 만들기 클릭액세스 키 ID와 비밀 액세스 키를 잘 저장한다.Connec
A기업에서는 employee Dimension 데이터를 기준으로 Tableau를 통해 근무현황, 휴가현황과 같은 HR 대시보드를 운영하고 있으며, 대시보드는 daily로 집계 및 업데이트가 되고 있다.더불어 여러 부서와 직원들이 동일한 HR 데이터를 가져다가 인건비 계
Pipeline을 구축할 때 고려해야 할 사항은 Pipeline이 실패했다면 빠르게 실패를 캐치하고 에러를 분석하는 것이다. 만약 Pipeline이 정상적으로 실행되었다하더라도 예기치 않은 데이터가 적재될 경우도 있으며 시스템이 에러를 발생시키도록 처리하기 힘든 데이터
개요 Data Pipelines with Apache Airflow 책에 나오는 내용 중 관련 종사자가 아니면 잘 보기 힘든 재밌는 데이터이기도 하면서, 기록을 위해 가져온 Pipeline이다. 포스팅할 Code는 샘플 코드에서 일부 커스텀한 Code이다. 이 샘플
스케줄 간격을 정의하기 위해서 schedule_interval 인수를 설정한다. default 값은 Noneschedule_interval="@daily"와 같이 @daily 매크로는 매일 자정에 DAG를 실행하도록 예약한다.이 외에도 다음과 같은 매크로를 지원한다.자
Airflow는 간격 기반 접근 방식을 사용한다. 이점은 작업이 실행되는 시간 간격(시작 및 끝)을 정확히 알고 있으므로 위에서 본 증분 데이터 처리 유형을 수행하는 데 적합하다. 증분 처리의 경우 일반적으로 시간은 해당 간격이 지나자마자 처리되는 개별적인 시간 간격으
Airflow의 의존성 패턴에 다음이 있다.선형 체인 (linear chain) 유형팬아웃/팬인 (fan-out/fan-in) 유형 하나의 Task가 여러 Downstream Task에 연결되거나 그 반대인 유형이전 Task 결과가 다음 Task 입력으로 사용되는 관계
kind는 Docker container nodes를 이용하여 Local k8s cluster를 실행하게 도와주는 Tool이다. kind는 주로 K8s를 Test하기 위해 설계되었지만, Local 개발 또는 CI에 사용될 수도 있다.https://kind.si
Provider dependency를 설치하기 위해서는 Custom docker image를 Build 해야 한다.데이터 분석 및 처리를 위해 많이 사용하는 Spark dependency를 설치해보자.requirements.txtDockerfiledocker build
GitHub에서 연동할 Repo의 Deploy key에 SSH Public key를 등록한다. Deploy key 대신 계정에 SSH Key를 등록해도 된다.kubectl create secret generic airflow-ssh-git-secret --from-fi
Airflow의 Default Helm Chart는 Metadata DB로 Container에서 동작하는 Postgre DB를 사용한다.하지만 실무에서는 AWS RDS 같은 DB를 사용한다.따라서 Airflow Metadata DB를 외부 DB롤 설정하는 방법을 알아본
개요 DAG 설계 및 Library를 잘못 활용함으로서 발생할 수 있는 문제를 살펴보고, DAG 최적화의 중요성 및 효과를 다뤄보고자 한다. Worker Node의 사양 산정은 중요하다. (Autoscaling 이런 거는 우선 논외로 하자) Task를 실행하다보면