묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Airflow 마스터 클래스
Email operator로 메일 전송하기 오류 내용에 대한 도움 부탁드립니다.
안녕하세요. 선생님.Email operator 메일 전송 dag 수행 시 아래 오류 발생합니다.시간 되실 때 내용에 대해 도움 부탁드립니다.*** /opt/airflow/logs/dag_id=dags_email_operator/run_id=manual__2025-02-19T05:59:40.395069+00:00/task_id=send_email_task/attempt=1.log ▲▲▲ Log group end [2025-02-19, 14:59:44 KST] {local_task_job_runner.py:123} ▼ Pre task execution logs [2025-02-19, 14:59:44 KST] {taskinstance.py:2613} INFO - Dependencies all met for dep_context=non-requeueable deps ti=<TaskInstance: dags_email_operator.send_email_task manual__2025-02-19T05:59:40.395069+00:00 [queued]> [2025-02-19, 14:59:44 KST] {taskinstance.py:2613} INFO - Dependencies all met for dep_context=requeueable deps ti=<TaskInstance: dags_email_operator.send_email_task manual__2025-02-19T05:59:40.395069+00:00 [queued]> [2025-02-19, 14:59:44 KST] {taskinstance.py:2866} INFO - Starting attempt 1 of 1 [2025-02-19, 14:59:44 KST] {taskinstance.py:2889} INFO - Executing <Task(EmailOperator): send_email_task> on 2025-02-19 05:59:40.395069+00:00 [2025-02-19, 14:59:44 KST] {warnings.py:112} WARNING - /home/**/.local/lib/python3.12/site-packages/***/task/task_runner/standard_task_runner.py:70: DeprecationWarning: This process (pid=117) is multi-threaded, use of fork() may lead to deadlocks in the child. pid = os.fork() [2025-02-19, 14:59:44 KST] {standard_task_runner.py:72} INFO - Started process 118 to run task [2025-02-19, 14:59:44 KST] {standard_task_runner.py:104} INFO - Running: ['***', 'tasks', 'run', 'dags_email_operator', 'send_email_task', 'manual__2025-02-19T05:59:40.395069+00:00', '--job-id', '121', '--raw', '--subdir', 'DAGS_FOLDER/dags_email_operator.py', '--cfg-path', '/tmp/tmp4a9ijz8k'] [2025-02-19, 14:59:44 KST] {standard_task_runner.py:105} INFO - Job 121: Subtask send_email_task [2025-02-19, 14:59:44 KST] {task_command.py:467} INFO - Running <TaskInstance: dags_email_operator.send_email_task manual__2025-02-19T05:59:40.395069+00:00 [running]> on host 4742acded404 [2025-02-19, 14:59:44 KST] {taskinstance.py:3132} INFO - Exporting env vars: AIRFLOW_CTX_DAG_OWNER='***' AIRFLOW_CTX_DAG_ID='dags_email_operator' AIRFLOW_CTX_TASK_ID='send_email_task' AIRFLOW_CTX_EXECUTION_DATE='2025-02-19T05:59:40.395069+00:00' AIRFLOW_CTX_TRY_NUMBER='1' AIRFLOW_CTX_DAG_RUN_ID='manual__2025-02-19T05:59:40.395069+00:00' [2025-02-19, 14:59:44 KST] {logging_mixin.py:190} INFO - Task instance is in running state [2025-02-19, 14:59:44 KST] {logging_mixin.py:190} INFO - Previous state of the Task instance: queued [2025-02-19, 14:59:44 KST] {logging_mixin.py:190} INFO - Current task name:send_email_task state:running start_date:2025-02-19 05:59:44.157879+00:00 [2025-02-19, 14:59:44 KST] {logging_mixin.py:190} INFO - Dag name:dags_email_operator and current dag run status:running [2025-02-19, 14:59:44 KST] {taskinstance.py:731} ▲▲▲ Log group end
-
미해결Airflow 마스터 클래스
filesensor가 해당 파일이 있는데 찾지 못하는 경우
안녕하세요, 영상 따라 실습중에 궁금한 점이 있습니다.filesensor로 확인하려는 파일이 존재하는데도 task가 계속 reschedule되고 있는 원인을 모르겠습니다.😭
-
미해결Airflow 마스터 클래스
블로그 api 관련 질문
chatGPT&Airflow로 블로그 자동 포스팅하기 강의를 듣고 실습을 하려다가tistory가 api 서비스를 중단되었는 것을 알았는데 혹시 대체 블로그가 있는지 문의드립니다.
-
미해결Airflow 마스터 클래스
dag_run 주기적으로 삭제
안녕하세요 강사님! 실습중에 궁금한게 생겨서 질문드립니다! dag이 실행될때 저장되는 dag_run 데이터는 주기적으로 삭제해도 airflow 스케줄 실행에 문제가 발생하진 않나요?? postgres도 EC2 내부에 docker-compose로 띄워놔서 혹시나 주기적으로 지워주면 리소스를 줄일 수 있을까 해서요!
-
미해결Airflow 마스터 클래스
강의 내용이 일부 잘린 것으로 보입니다!
안녕하세요! 항상 강의 잘 듣고 있습니다다른 강의와 달리 실습 코드에 대한 설명 없이 바로 airflow 실행으로 화면이 넘어가는 것으로 보입니다!혹 강의 영상의 일부가 잘린 것인가 하여 문의를 드립니다(해당 영상 4분 30초 기준)
-
해결됨Airflow 마스터 클래스
airflow dag 실행 문의
제가 airflow에서 dag을 받아서 최초에 실행시킬 때이 화면처럼 2번 실행이 되는 데 1번만 실행시킬 수 있는 방법이 있을지 궁금합니다.그리고 제가 email_xcom 실습을 하다가 모르고 강사님 email로 보내서 죄송합니다.
-
미해결Airflow 마스터 클래스
airflow에서 DAG Import Errors
아래와 같은 에러가 발생했습니다. 비슷한 질문의 답글을 확인하여 아래내용도 다시 봤지만 수정잘 되어 있고, 컨테이너 디렉토리내 common 폴더와 파일 여부를 확인하였는데도 똑같은 오류가 납니다. docker-compose.yaml volumes 항목 수정컨테이너에 들어가서 plugins 디렉토리 연결이 잘 되었는지 확인
-
미해결Airflow 마스터 클래스
airflow로 실시간 데이터 수집이 가능한가요??
안녕하세요! 강의 항상 잘 보고 있습니다!강의를 보고, 배치작업이 아닌 외부 api를 1분마다 호출해서 실시간 데이터처럼 보일 수 있게 데이터를 수집하는 로직을 짜고자 합니다. 이런 데이터 수집 작업도 airflow를 쓰기도 하나요??이렇게 요청이 자주 발생하는 작업은 airflow에서 비추천한다고 하는 글을 봐서 강사님의 생각은 어떤지 궁금합니다!강의랑 큰 관련은 없는 주제일 수 있지만 만약 airflow를 사용하지 않는다면 보통 이런 로직을 구현할 때 어떤 기술을 사용하는지 궁금합니다...!
-
미해결Airflow 마스터 클래스
Email Operator로 메일 전송하기 task 실패
수업내용 따라서 dag 작성 및 docker-compose.yaml 파일 수정하고 실행하였는데,ConnectionRefusedError: [Errno 111] Connection refused해당 오류로 작업실패를 하게 됩니다. 어떻게 해결하면 될지 도움 부탁드립니다.😭
-
해결됨Airflow 마스터 클래스
t1_orange 로그안찍힘
실습내용 그대로 적용하여 진행하였는데, 정상적으로 dag는 실행되었는데 t1_orange의 로그값이 확인이 되지 않네요. t2_avocado는 로그가 정상적으로 확인이 되는데.. 어디를 놓치고 있는건지 모르겠어서요. 혹시 이유가 뭘까요
-
미해결Airflow 마스터 클래스
docker desktop
안녕하세요 실습 진행 중 wsl을 이용해서 가상공간에서 작업을 진행하시는 것 같은데 도커데스크탑을 깔고 그 안에서 이미지들을 다운받는 식으로 작업을 하는 것과 차이가 있을까요?제가 알기로는 터미널에서 코드 쳐서 다운 받는 것과 도커데스크탑에서 이미지 찾아서 다운 받는 것과의 차이는 없는 걸로 알고 있어서요혹시 wsl로 작업을 하지않고 컴퓨터 두 대로 진행하려면 어떻게 해야될까요? 같은 네트워크에 있는 상태 입니다.
-
미해결Airflow 마스터 클래스
airflow 웹서버 페이지 auto-refresh에 대해서 질문드립니다!
제가 지금 백엔드 프로젝트와 Airflow를 도커 컴포즈로 EC2에 올려서 테스트를 하고 있습니다. 혹시 airflow 웹페이지에서 DAG 목록 위에 Auto-refresh 버튼이 있는데 이 옵션을 끄면 dag이 정해진 스케줄에 작동하지 않는지 궁금합니다.제가 검색해본 결과로는 dag 내용과 목록을 자동으로 최신화하는 옵션인 것 같은데 맞을까요..?? dag 실행에 문제만 없다면 리소스 절약을 위해서 이 옵션은 꺼놓는게 좋을 것 같아서요...
-
미해결Airflow 마스터 클래스
다중 스케줄러 실행 시 확인 방법 문의
강사님, 안녕하세요.다중 스케줄러 실행 시 정상적으로 동작하고 있는지 확인할 수 있는 방법에 대해 문의드립니다.현재 Worker와 Scheduler를 다중으로 실행하여 고가용성 테스트를 진행 중입니다. Worker의 경우 Celery Flower를 통해 정상적으로 Sync가 이뤄지는 것을 확인하였습니다. 다만 Scheduler의 경우 뭔가 정확하게 확인이 안되는 것 같습니다.우선 제가 찾은 방법으로는 메타 테이블 조회와 커맨드가 있습니다.메타 테이블 조회 아래와 같이 조회하면 running인 상태의 host가 Scheduler 수만큼 조회됩니다. hostname도 모두 일치합니다.select * from job where job_type = 'SchedulerJob' and state = 'running';커맨드 아래와 같이 커맨드 실행 시 'Found one alive job.'이 출력됩니다.$ airflow jobs check --job-type SchedulerJob Found one alive job.Scheduler 로그 확인 시 모두 heartbeat은 계속 요청하고 있습니다. 혹시 Worker와 같이 명확하게 다중 스케줄러 환경인지 확인하는 방법이 있을까요?
-
미해결Airflow 마스터 클래스
dag list가 안보이는 이유..
variables 를 추가하는 강의에서variables 추가하고, dags_bash_with_variable.py를 생성후, git push 하고 나중에 봣더니그 많던 dag(examples + 강의때 따라한 dag) 들중에 딸랑 3개만 보이고 안보여요..dags 폴더 하위를 찾아가보니 파일은 그대로 존재하는데.. 왜 3개만보이는건지 ..혹시 확인해볼만한 로그들이나... 이유에 대해서 아실까요..? docker exec -it {스케줄러노드ID} bash 로 들어가서 dags도 확인해봤습니다.
-
미해결Airflow 마스터 클래스
task 실행중 오류
안녕하세요 강사님 강의 잘 보고 있습니다다름이 아니라 특정 조건에서 task가 실행되지 않아 해결방법을 묻고자 글을 남깁니다.task가 실행되지 않고 발생하는 log*** Could not read served logs: Invalid URL 'http://:8793/log/dag_id=dags_get_data_python_operator/run_id=manual__2024-12-20T09:11:57.447383+00:00/task_id=refine_data_/attempt=1.log': No host supplied branch에 따른 dag에 작성한 taskflow는 다음과 같습니다get_data_ >> check_dir_ >> get_yesterday_data_ >> refine_data_ >> delete_dataget_data_ >> check_dir_ >> refine_data_ >> delete_databatch 당일 데이터와 전날 데이터를 이용해서 spark를 이용해 정제하는 작업인데,전날 데이터가 수집되어있지 않다면 수집하고나서 sparksubmit을 하도록 task를 구성했습니다.전날 데이터가 없는 상태로 dag를 실행하면 전체task가 잘 실행이되고전날데이터가 존재한다면 원하는 task 까지 skipped이 되고 해당 log가 나오네요 ㅠㅠtask 플로우를 잘못 작성한 이유일까요 ? 추가)BranchPython task에 찍힌 log 입니다.
-
해결됨Airflow 마스터 클래스
plugins 폴더
안녕하세요.airflow 파일의 폴더 구성에 대해 문의드립니다.airflow 를 사용하다보면 dag 외에 여러 파일이 필요한데 이때 해당 파일을 어떻게 정리하면 좋을지 궁금해서요. plugins 폴더에는 PythonOperator 에서 사용하는 함수 혹은 커스텀 오퍼레이터를 작성하는거 같습니다.궁금한점은 오퍼레이터에 간접적으로 사용되는 함수도 plugins 폴더에 위치하는지 궁금합니다. 예를 들어 SQL 파일을 읽을때 SQL 파일을 읽어주는 함수를 작성한다고 해보면 해당 함수는 오퍼레이터에 간접적으로 사용됩니다. 그러면 해당 함수도 plugins 폴더에 위치하는게 권장되는걸까요 아니면 dags 폴더에 위치하는게 좋을까요?shell 파일은 plugins 폴더에 위치하는게 좋다고 하셨는데 그러면 sql 파일은 어떻게 위치하는게 좋은지 궁금합니다.아래와 같은 방식이면 되는지 확인 부탁드립니다!.dagsplugins......ㄴ sql............ㄴ read_table.sql......ㄴ lib............ㄴ common.py......ㄴ shell............ㄴ file_read.sh......ㄴ custom_operator............ㄴ file_parse.py dags 폴더에는 정말 dag 파일만 위치하는게 좋은지도 궁금합니다.
-
미해결Airflow 마스터 클래스
docker container network 관련 질문
안녕하세요 강사님 강의 잘 보고 있습니다.spark 관련된 질문을 드려도 될까요..?도커에 spark 컨테이너를 띄워서 airflow의 bash operator로 spark-submit을 해보려 하는데 로그가 다음과 같이 나오면서 spark-submit이 안됩니다.compose 파일도 network 설정을 다시했고,docker network inspect 로 확인해보니 잘 연결된 것이 확인됐습니다.spark submit도 master container 내부에서 잘 실행이되는 상황입니다.shell 파일을 이런식으로 작성한다고 해서 airflow dags로 spark-submit을 할 수 있는건 아닌가요 ?#!/bin/bash script=$1 echo "${script}" echo "start spark submit with bash operator" spark-submit \ --master spark://spark-master:7077 \ ${script}
-
미해결Airflow 마스터 클래스
db container connection 에러
안녕하세요! 강사님몇달 전에 듣고 복습중인데요몇달 전에 들었을때, 이렇게 잘 db를 생성했었습니다.그리고 vi docker-compose.yaml 아래와 같이 수정하였지만 적용이 안되네요...ㅠㅠ그리고 이전에 생성했던 게 그대로 실행되고 있습니다...!당연히 dags_python_with_postgres.py 실행하면 아래와 같이 connection 오류가 발생하구요... 혹시 해당 문제 어떻게 해결해야할 지 알 수 있을까요?!
-
미해결Airflow 마스터 클래스
Email Operator: ConnectionRefusedError
안녕하세요,Email Operator 수행 과정에서 실행 버튼을 누르고 나면 다음과 같은 에러가 나타납니다.ConnectionRefusedError: [Errno 111] Connection refused어떻게 해결해야 할까요?
-
미해결Airflow 마스터 클래스
(맥환경) dag 파일 인식 안됨
안녕하세요. 강사님 강의따라 docker-compose.yaml 수정 후 에어플로우 내렸다가 다시 올렸는데 dags_bash_operator가 local hostdp에서 보이지 않습니다. (다시 내렸다가 올려도 그대로네요..) 올리기 위해 어떻게 접근해볼 수 있을까요? 맥환경이고 캡처와 같이 수정까지 완료된 상황입니당.