일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- SlackWebhookOperator
- slack
- java
- MapReduce
- yarn
- NoSQL
- Scala
- ambari
- jupyter
- airflow
- HDFS
- HBase
- HIVE
- slack app
- execution_date
- docker
- 람다 아키텍처
- Lambda architecture
- 정규표현식
- re
- Namenode
- 빅데이터
- LDAP
- Kafka
- Windows
- python
- Example DAG
- HDP
- hadoop
- Service
- Today
- Total
목록airflow (22)
IT 삽질기
Airflow - TeamsWebHook 사용하기 Airflow에서는 기본적으로 teams에 대한 Operator, Hook을 제공하지 않고 slack, discord에 대한 내용은 제공 작성일 기준 MS teams에 대한 package는 제공하지 않고 있어 사용을 위한 Operator을 custom 개발을 진행했다. Teams에서 webhook으로 사용하는 커넥터는 아래와 같으며, 해당 커넥터에 대한 테스트가 완료되었다. Custom Operator 개발하기 custom Operator 개발은 Hook과 Operator로 나누어 개발을 진행했으며, slack webhook 관련 Hook과 Operator을 참고했다. teams메세지에서 button에 link를 연결하는 메세지를 보내는 것이 가능하지만 ..
Airflow Variables란? Variables은 Airflow 전역에서 사용할 수 있는 값을 미리 저장해두고 DAG에서 공통적으로 사용할 수 변수를 말한다. WebServer UI에서 쉽게 설정이 가능하다. Variables는 key-value 형식으로 구성되며, key값을 이용해 value를 사용하는 방식이다. 공식 문서는 아래와 같이 2개의 문서로 정리되어 있다. https://airflow.apache.org/docs/apache-airflow/stable/concepts/variables.html https://airflow.apache.org/docs/apache-airflow/stable/howto/variable.html Airflow Varialbes 설정하기 Webserver에서 ..
Airflow dag_run.conf Airflow dag_run.conf 사용법에 대해 알아보도록 하자. dag_run.conf는 dag를 trigger dag를 사용할 때, 나오는 옵션과 같은 것인데 Dag list나 Dag view에서 볼 수 있다. Trigger Dag를 클릭하면 아래와 같은 화면으로 넘어간다. Trigger DAG를 사용하는 경우 Optional하게 원하는 데이터를 JSON 형식으로 전달할 수 있는데, 사용 방법은 이전 포스팅에서 설명한 Jinja template 방식을 따른다. 2021.05.19 - [BigData/Airflow] - Airflow에서 Jinja template 사용하기 Trigger DAG의 아래 부분에도 친절하게 설명되어 있다. {{ dag_run.conf..
Airflow에서는 Jinja2 template를 내장하고 있어 이를 활용할 수 있는데, Jinja2 template에 대한 자세한 내용은 Jinja Document를 참고하기 바란다. https://jinja.palletsprojects.com/en/3.0.x/ Jinja2 template를 활용할 수 있는 방법에는 어떤것이 있을까 Airflow를 이용할 때, batch job을 실행하는 경우 현재 날짜에 대한 정보가 필요할 수 있다. 예를 들어 글 작성 날짜인 2021-05-19 라는 값을 Hive Query에 이용할 수 있을 것이다. 이런 경우 어떻게 해야할까 Dags에 직접 입력하는 방법도 있지만 그렇게 동작시키는 경우 매번 값을 바꿔 실행해주어야 한다. 이런 경우 Jinja template와 A..
이전 4개의 포스팅으로 CentOS에 Airflow를 설치하고 실행시켜보았다. 2021.01.27 - [BigData/Airflow] - Airflow 2.0 설치하기(1) 2021.01.29 - [BigData/Airflow] - Airflow 2.0 설치하기(2) 2021.03.21 - [BigData/Airflow] - Airflow 2.0 설치하기(3) 2021.05.03 - [BigData/Airflow] - Airflow 2.0 설치하기(4) 마지막 글에서처럼 오늘은 Airflow에서 제공하는 가이드 문서에 따라 Airflow를 올려보도록 하자. 먼저 가이드 문서의 링크를 확인해보자 http://airflow.apache.org/docs/apache-airflow/stable/start/doc..
지난번까지 Airflow를 설치하고, mysql과 연동하는 작업까지 마무리 했다. 오늘은 실질적으로 DAG를 만들어 동작시켜보도록 하자 2021.01.27 - [BigData/Airflow] - Airflow 2.0 설치하기(1) 2021.01.29 - [BigData/Airflow] - Airflow 2.0 설치하기(2) 2021.03.21 - [BigData/Airflow] - Airflow 2.0 설치하기(3) 설치가 완료되었으니 webserver, scheduler을 실행시켜보도록 하자 webserver 실행 -D 옵션은 daemon 형식으로 실행하는 옵션으로 -D 옵션만 이용한다 airflow webserver -D WebServer가 실행되었으면 PC에서 확인이 가능하다 기존에 접근했던 것과 ..
지난 글에서는 HiveServer2 인증 방법으로 LDAP을 사용하는 경우 Airflow HiveServer2Hook를 사용하는 방법에 대해서 알아보았다. 2021.04.23 - [BigData/Airflow] - Airflow HiveServer2Hook LDAP 연결 이번 글에서는 HiveServer2 인증 방법으로 LDAP을 사용하는 경우 Airflow HiveOperator를 사용해 hive에 query을 날리는 방법에 대해서 알아보도록 하자 Airflow의 버전은 마찬가지로 2.0.0을 사용했다 먼저 HiveOperator의 코드를 살펴보자 github.com/apache/airflow/blob/master/airflow/providers/apache/hive/operators/hive.py H..
HiveServer2 인증 방법으로 LDAP을 사용하는 경우 Airflow HiveServer2Hook를 사용해 hive에 query을 날리는 방법에 대해서 알아보도록 하자 Airflow의 버전은 2.0.0을 사용했다. 먼저 Airflow의 HiveServer2Hook의 코드를 살펴보도록 하자 github.com/apache/airflow/blob/c699e97d0d43e06ea9835a845570db4fc7fd6931/airflow/providers/apache/hive/hooks/hive.py#L804 코드에서 살펴봐야 할 부분은 인증방식에 대한 부분과 connection을 만드는 과정이다. 먼저 인증 방식을 설정하기 위해서는 829번 line의 코드를 살펴봐야 한다 auth_mechanism으로 c..