일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- java
- 정규표현식
- SlackWebhookOperator
- yarn
- MapReduce
- re
- Lambda architecture
- hadoop
- slack
- airflow
- Scala
- Namenode
- jupyter
- Windows
- python
- 빅데이터
- HBase
- HDFS
- 람다 아키텍처
- slack app
- HDP
- LDAP
- Example DAG
- HIVE
- docker
- execution_date
- NoSQL
- Service
- Kafka
- ambari
- Today
- Total
목록BigData/Airflow (23)
IT 삽질기
이번 글에서는 Airflow의 execution_date에 대해서 이해해보도록 하자. execution_date에 대한 설명을 하기에 앞서 Airflow는 batch schedulering을 위한 tool이라는 것을 기억하자. execution_date란 ? 먼저 execution_date에 대한 정의를 내려보자. airflow에서의 execution_date는 dag가 실행되어야 하는 기대값이라고 생각할 수 있을 것 같다. 한 가지 예를 들어 살펴보자. 매일 자정 전날에 발생했던 log들을 HDFS로 이관하는 작업이 있다고 가정해보자. 자정이 지나 오늘의 날짜는 2021-09-26일인데 이관되어야 하는 log들의 날짜는 2021-09-25일이 된다. 이런 경우 사용자는 하루 전 날짜의 데이터를 가지고 ..
이번 글에서는 Airflow Xcom에 대해서 알아보도록 하자. Airflow Version : 2.1.3에서 테스트를 진행했다. Xcom이란 Xcom은 DAG 내의 task 사이에서 데이터를 전달하기 위해서 사용되는데, CeleryExecutor를 예로 들면, 각 task들이 각기 다른 Worker에서 실행될 수 있으며, Xcom은 이러한 경우 task간 데이터 전달을 가능하게 한다. Variables와 마찬가지로 key-value의 형식으로 사용되지만, Variables과는 달리 Xcom은 DAG내에서만 공유할 수 있는 변수라는 점이다. Xcom을 이용해 데이터를 전달하는 경우 DataFrame이나 많은 양의 데이터를 전달하는 것은 지원하지 않으며, 소량의 데이터만 전달하는 것을 권장한다. Xcom을..
이번 글에서는 Airflow 설치 시 기본적으로 생성되는 Example DAG를 제거하는 방법에 대해서 알아보도록 하자. Example DAG Example DAG란 Airflow를 설치하고 실행시키면 기본적으로 DAG에 등록되어 있는 DAG 항목들을 말하며, Airflow의 기능들에 대해 알아볼 때는 사용하기 좋지만, 실 운영환경에서는 운영 DAG와 섞여 혼란을 유발할 수 있다. airflow.cfg 파일에서 기본값으로 설정된 내용 때문에 example DAG들이 보이게 되며, 해당 설정값을 변경하면 더 이상 보이지 않게 된다. 먼저 설정값을 알아보도록 하자. airflow.cfg 파일에 load_examples가 True로 되어 있는 것을 확인할 수 있다. 일단 이 설정값을 False로 변경해보자. ..
이번 글에서는 Airflow에서 SlackOperator을 사용하는 방법에 대해서 알아보도록 하자. 이 글에서는 Slack App은 이미 생성되어 있다고 가정하며, Slack App을 생성하는 방법은 이전 글을 참고하기 바란다. 2021.09.11 - [개발] - Slack App 만들어 메세지 보내기 Airflow Slack provider 설치하기 Airflow 2.x 버전을 사용하는 경우 slack provider을 설치해야 하며, 관련 정보는 Airflow 공식 문서에서 얻을 수 있다. https://airflow.apache.org/docs/apache-airflow-providers-slack/stable/index.html 아래의 명령어를 이용해 slack provider을 설치한다. pip..
이번 글에서는 CentOS에서 Airflow webserver, scheduler을 서비스로 등록하여 사용하는 방법을 알아보도록 하자. Serviced 관련 내용은 지난 글을 참고하기 바란다. 이번 글에서도 지난 글과 마찬가지로 CentOS에서 동작하는 서비스에 대해서 설명한다. 2021.05.17 - [개발] - CentOS 7 serviced 등록 및 실행 Airflow Serviced 등록하기 Serviced에 등록하기 위한 파일은 Airflow의 공식 github에서 확인이 가능하다. https://github.com/apache/airflow/tree/main/scripts/systemd 이 글에서는 webserver를 service로 등록하는 방법에 대해서만 이야기하며 scheduler이나 w..
이번 글에서는 Airflow의 LocalExecutor과 CeleryExecutor에 대해서 알아보도록 하자. Airflow에서 제공하는 Executor의 종류는 여러가지가 있지만 여기서는 이 두가지만 자세하게 비교하도록 한다. Executor 먼저 Executor이 뭔지 알아보도록 하자. Airflow에서 이야기하는 Executor은 task가 실행되는 매커니즘으로 Executor을 어떻게 설정하느냐에 따라 task 실행방식이 달라지는 것으로 이해하면 될 것 같다. Airflow에서 제공하는 전체 Executor은 아래의 링크에서 확인할 수 있다. https://airflow.apache.org/docs/apache-airflow/stable/executor/index.html Sequential Ex..
Airflow Sensor란? Sensor는 시간, 파일, 외부 이벤트를 기다리며 해당 조건을 충족해야만 이후의 작업을 진행할 수 있게 해주는 Airflow의 기능으로 Operator와 같이 하나의 task가 될 수 있으며 filesystem, hdfs, hive 등 다양한 형식을 제공한다. 이전글에서 작성한 것과 같이 airflow 2.x의 버전에서는 third party로 분류되는 서비스의 경우 airflow와 별개로 설치가 필요하며 필요에 따라 원하는 package를 설치를 진행하면 된다. 2021.04.03 - [BigData/Airflow] - Airflow2.x providers 설치하기 sensor의 종류는 아래의 링크를 참고하기 바란다. airflow sensor FileSensor 이 글..
해당 글은 KakaoWorkOperator, Hook의 내용이 변경되면 계속해서 수정될 예정이며, 업데이트 과정에서 코드와 사용 예가 동작하지 않을 수 있으니 양해 부탁드립니다. 수정 내용 2021-06-16 최초 문서 작성 2021-06-19 KakaoWorkHook 관련 내용 수정 및 사용 설명 수정, 실사용 예 제거 추후 추가 예정 Airflow KakaoWorkOperator 지난번 글에서도 언급한 것처럼 Airflow에서 기본적으로 제공하는 업무용 협업툴에는 slack, discord가 있지만 teams, kakaowork 등에 대한 지원은 하지 않는다. 따라서 custom을 통해 사용해야 하는데 지난번 글에서는 teams webhook과 연동하는 것을 알아보았다. 2021.06.03 - [Bi..