본문 바로가기
728x90
반응형
SMALL

아파치16

[Apache Airflow] Slack 연동 Slack API slack API에서 어플리케이션을 생성한다. Create an app → From scratch을 선택한다.  앱 이름은 airflow_bot으로 입력하고, 봇을 띄우고자 하는 워크스페이스를 선택한다.  그 다음, Incoming Webhooks Off →On으로 변경한다.  그리고 페이지 하단의 Webhook URL에서 T로 시작하는 토큰값을 복사한다.  커넥션 등록 Slack의 경우 Airflow 설치시 기본 제공되는 Provider 중 하나로 Hook, Operator사용 가능하다. 커넥션에 Slack 관련 정보를 넣어주면 된다. 위에서 복사한 Webhook URL 토큰을 붙여 넣는다.  callback plugins/collbacks 디렉토리에 on_failure_callbac.. 2024. 6. 19.
[Apache Airflow] KaKao 연동 카카오 Developer 카카오 Developer에서 다음과 같이 애플리케이션을 추가한다.    카카오 연동 제품 설정에서 카카오 로그인의 활성화 설정 상태를 ON으로 변경한다.  Redirect URI는 https://example.com/oauth로 입력한다.  task에 대한 메시지를 전송하기 위해 동의 항목에서 선택 동의로 저장한다.  인가 코드  client_id는 앱 키 →REST API 키로 해서 아래 주소를 웹 브라우저를 통해 접속하여 인가 코드를 발급받는다. https://kauth.kakao.com/oauth/authorize?response_type=code&client_id={client_id}&redirect_uri=https://example.com/oauth&response_t.. 2024. 6. 19.
[Apache Airflow] Postgre DB 추가 Postgre 인스턴스 추가 로컬에서 docker-compose.yaml 파일을 다음과 같이 수정한다. services: postgres_custom: image: postgres:13 environment: POSTGRES_USER: 이름 POSTGRES_PASSWORD: 비밀번호 POSGRES_DB: 데이터베이스 TZ: Asia/Seoul volumes: - postgres-custom-db-volume:/var/lib/postgresql/data ports: - 5432:5432 # 외부에서 접속할 수 있도록 포트 노출volumes: postgres-db-volume: postgres-custom-db-volume: #.. 2024. 6. 18.
[Apache Airflow] Cron Schedule Cron Schedule Cron Schedule은 다음과 같이 task가 실행되어야 하는 시간 (주기)을 정하기 위한 다섯개의 필드로 구성된 문자열이다. {분} {시} {일} {월} {요일} Airflow의 모든 DAG는 실행 주기를 결정해야 하며, 일반적으로 Cron Schedule을 활용하여 DAG이 실행되어야 할 주기를 명시한다. 특수 문자 특수 문자설명*모든 값-범위 지정,여러 값 지정/증가값 지정L마지막 값 (일, 요일에만 설정 가능)※ 일에 L입력시 해당 월의 마지막 일 의미※ 요일에 L 입력시 토요일 의미#몇 번째 요일인지 지정 Cron Schedule설명비고15 2 * * *매일 02시 15분 0 * * * *매시 정각 0 0 1 * *매월 1일 0시 0분 10 1 * * 1매주 월요일 .. 2024. 6. 17.
[Apache Airflow] DAG 개발 DAG  DAG는 AirFlow에서 실행할 작업들을 순서에 맞게 구성한 워크플로우 (workflow)를 의미하는 방향성 있는 비순환 그래프라고 불린다. 여러 Task가 의존 관계를 통해 연결되어 있으며, 의존 관계는 순환되지 않고 한 방향으로 연결된다. DAG 개발 DAG는 1개 이상의 오퍼레이터로 정의되며 오퍼레이터는 하고자 하는 기능에 대한 설계도라 할 수있다. Task는 오퍼레이터 (클래스)를 통해 생성된 객체로 실제 job을 수행하는 대상이 된다. EC2서버의 /home/ubuntu/dags 디렉토리에 DAG 파일을 다음과 정의한다. /home/ubuntu/홈 디렉토리dags/dag을 모아놓는 디렉토리해당 디렉토리에 dag 파일을 저장해 두면 일정 시간이 지난 후 web에서 확인 가능plugins.. 2024. 6. 14.
Apache Airflow Apache Airflow  Apache Airflow는 파이썬을 이용해 워크플로우를 만들고 관리할 수 있는 오픈소스 기반 워크플로우 관리 도구이다. 2014년, 에어비앤비에서 만든 워크플로우 관리 솔루션이다. 파이썬으로 제작된 도구이며, 이용자가 워크플로우 생성시에도 파이썬으로 구현하나의 워크플로우는 DAG (Directed Acyclic Graph)이라 부르며, DAG 안에는 1개 이상의 Task가 존재Task간 선후행 연결이 가능하되, 순환되지 않고 방향성을 가짐 (DAG)Cron 기반의 스케줄링모니터링 및 실패 작업에 대한 재실행 기능이 간편 워크플로우를 관리하는 여러 오픈소스 도구 중 가장 인기가 많다. UI로 워크플로우를 만들지 못해 어려우나, 파이썬 언어가 허락하는 한 거의 모든 유형의 파이.. 2024. 6. 14.
728x90
반응형
LIST