| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- HIVE
- 백준
- Data Engineer
- 영어
- Iceberg
- 코엑스맛집
- 코딩테스트
- hadoop
- bigdata engineering
- airflow
- Spark
- Data Engineering
- bigdata engineer
- apache iceberg
- Kafka
- BigData
- 코딩
- Trino
- 삼성역맛집
- Linux
- 자바
- 프로그래머스
- pyspark
- 알고리즘
- 맛집
- 여행
- Apache Kafka
- java
- 코테
- HDFS
- Today
- Total
목록전체 글 (573)
지구정복
아래처럼 plugins_folder는 하나만 지정가능하다. 하지만 사용자가 사용해야할 파이썬 스크립트가 다른 곳에 있어서 이를 import하려면 매번 아래처럼 직접 python path 경로에 추가해줘야 한다.import syssys.path.append('/home/airflow_dags/src/')from utils.email_utils import EmailUtils #사용자가 정의한 클래스 이런 번거로움을 없애려면 두 가지 방법이 있다. 1. 소프트링크를 만들어서 airflow config인 plugins_folder에 소프트링크 경로로 설정해준다. 사용자정의 클래스 파일이 아래 위치에 있는 경우 /airflow/dags/plugins 이 디렉터리를 현재 plugins_folder에 설정된 /..
현재 Vault, AD연동이 안되어 있는 기본 airflow 상태 1. 목적User 롤을 가진 유저는 기본적으로 권한이 없는 DAG에 대해선 Read만 하고 on/off하지 못하게하고Task에 대해서도 on/off하지 못하도록 한다. 2. 설정법 일단 기본적으로 Airflow에서 제공되는 Roles중에서 User Role을 아래처럼 수정한다.Edit관련된 권한을 모두 뺀다. 그리고 DAG를 만들 때 항상 owner와 access_control을 명시해준다.from airflow import DAGfrom airflow.operators.bash import BashOperatorfrom datetime import datetime, timedeltadefault_args = { 'owner': 'h..
Dag를 만드는 데에는 3가지 방법이 있음 1. with 절 사용with 절을 이용하여 DAG 객체를 정의하고 그 안에 Task들을 정의 import datetimefrom airflow import DAGfrom airflow.operators.empty import EmptyOperatorwith DAG( dag_id = "my_dag_name", start_date = datetime.datetime(2024, 1 ,1), schedule = "@daily",) : EmptyOperator( task_id = "task" ) 2. DAG객체 만들어서 사용my_dag라는 DAG객체를 만들고, 각 O..
1. 권한 설정 디렉터리 구조는 다음과 같다.[root@my-cluster-gn001 dags_prd]# tree -L 1 /home/airflow_dags/home/airflow_dags├── conf├── dags_dev├── dags_meta├── dags_prd├── dags_test└── src /home/airflow_dagschmod 1775 /home/airflow_dags1775로 설정하여 다른 사용자들은 rx만 가능하도록 하고 sticky bit 적용한다. /home/airflow_dags/의 하위 디렉터리/home/airflow/ 하위의 디렉터리도 sticky bit가 적용된 1775로 설정하여 아래 디렉터리에서는 일반 사용자들도 자신의 dag나 코드를 만들 수 있다.하지만 stick..
1. API 사용1.1. DAG관련1.2. Task 관련1.3. Connections & Variables1.4. 로그 관련 1. API 사용다음과 같은 형식으로 사용 가능버전 정보 출력curl -X GET "http://:/api/v1/version" \ -u "username:password" 1.1. DAG관련목록curl -X GET "http://:8080/api/v1/dags" \ -u "username:password" 특정 DAG 정보 조회curl -X GET "http://:8080/api/v1/dags/" \ -u "username:password" 특정 DAG 비/활성화curl -X PATCH "http://:8080/api/v1/dags/" \ -H "..
