묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Airflow 마스터 클래스
강좌 진도율
안녕하세요. Airflow Master 강좌를 듣고 있습니다. 해당 강좌를 완강한 거 같은데.. 진도율이 100%가 안되네요그래서 수료증(완강표시된) 출력을 못하고 있습니다. 어떻해야 하는지 알려주세요.. 많은 강좌중 제가 놓친강좌가 무엇인지 파악할 수가 없네요 . 감사합니다.
-
미해결Airflow 마스터 클래스
Email Operator로 메일 전송하기 실패
Email Operator로 메일 전송하기 강의 실습을 진행하다가 에러가 나서 질문 남깁니다.dag 실행 로그가 아래와 같이 찍히고, 실패 하는데 어떤 부분이 잘못되어서 이런 건지 모르겠습니다...[2023-11-15, 14:06:59 UTC] {warnings.py:109} WARNING - /home/***/.local/lib/python3.8/site-packages/***/utils/email.py:154: RemovedInAirflow3Warning: Fetching SMTP credentials from configuration variables will be deprecated in a future release. Please set credentials using a connection instead. [2023-11-15, 14:06:59 UTC] {configuration.py:1050} WARNING - section/key [smtp/smtp_user] not found in config [2023-11-15, 14:06:59 UTC] {taskinstance.py:1937} ERROR - Task failed with exception [2023-11-15, 14:06:59 UTC] {standard_task_runner.py:104} ERROR - Failed to execute job 73 for task send_email_task ([Errno 99] Cannot assign requested address; 618)
-
해결됨Airflow 마스터 클래스
bashoperator에 외부 쉘파일 수행하기
안녕하세요 강사님~airflow를 이제 막 배우는 학생입니다.다름이 아니라 bashoperator에 외부 쉘파일 수행하기에서 airflow에서 dag을 실행하면 해당 경로를 찾을 수 없다고 나와서요제가 root 계정으로 실습 진행하고 있는데 opt를 root 경로로 바꿔봐도 동일한 증상이 계속됩니다.추가로 py 코드에서 경로를 왜 opt로 주셨는지도 궁금합니다!
-
해결됨Airflow 마스터 클래스
섹션2 1장 docker-compse.yaml위치 설정
docker-compse.yaml 위치는 C:\Windows\System32에 있습니다. airflow파일은 C:\tool\airflow여기에 있습니다.${AIRFLOW_PROJ_DIR:-.}/dags:/opt/airflow/dags 이부분을 어떻게 고쳐야할까요?
-
해결됨실리콘밸리 엔지니어와 함께하는 Apache Airflow
airflow docker compose 질문드립니다.
안녕하세요 선생님 airflow docker compose 질문드립니다. airflow docker compose로 최초 실행후 yml 파일을 수정하면 수정 내용만을 반영하게되는건가요? 아니면 새로운 docker compose를 빌드하는건가요?yml 또는 DAG를 수정하는 경우 ci/cd 관점에서 어떻게 관리하는지 궁금합니다.감사합니다. 🙂
-
해결됨Airflow 마스터 클래스
dag 스케줄링 관련
안녕하세요? 좋은 강의에 진심으로 감사드립니다. 책으로 공부했으면 아직 헤매고 있을텐데, 친철하게 설명해 주셔서 그동안 들었던 강의를 바탕으로 어제 data.go.kr에서 기상청이 제공하는 대기정체지수를 다운로드 받는 dag을 만들어 수동으로 실행을 해보니, 수동으로는 csv 파일 생성까지 success가 되는 것을 확인하였습니다. 그런데 오늘 새벽에 자동으로 실행이 되도록 컴퓨터를 켜두었었는데, 아침에 보니 돌아가지 않았습니다. ㅠㅠ DAG에 크론 일정은 "0 5 \* \* \*"로 주고 , start_date는 어제 날짜 2023. 11. 5. in_timezone('Asia/Seoul')로 주었었습니다. (매일 새벽 5시에 돌아서 전일자로 업데이트된 데이터를 받고자 하였습니다.) airflow를 직접 사용해 보니 UTC와 KST가 혼재되어서 사용시에 헷갈리기도 하고, 실제로 제가 만들어 보니 권한 문제, 패키지 추가 문제 등 여러가지 난관에 봉착했었습니다만, 여기 질문 게시판을 참조하면서 모든 문제를 해결할 수 있었는데, 일정 셋팅 관련해서는 제가 아주 기본적인 airflow의 시간 개념을 잘 못 이해하고 있는 것 같아서 질문드립니다. 위의 두가지 말고 따로 확인해야 하는 사항이 있는지요? 여기 게시판의 첫번째 질문도 시간개념이었는데, 읽어봐도 제 입장에서는 제 문제 해결방법이 명확해 지는 것 같지는 않아서 이렇게 폐를 끼치게 되었습니다. 여담입니다만,기상청에서 제공하는 API 데이터들은 1루치 정도만 제공되어서, 매일 접속을 해서 처리를 해두지 않으면 데이터가 사라져 버립니다. 수작업으로 하는 것이 예상보다 피곤하였고, 중간중간 잊고 지나치는 경우가 생겨서, 데이터의 완결성이 떨어지는 등 아쉬운 점이 있었습니다. 제 계획은 노트북을 출근전에는 꺼놓고, 퇴근후 집에와서 WSL에 airflow 도커로 올려서 새로 켜놓고, 새벽에 Dag이 일정대로 돌아서, 아침에 일어나면 데이터들이 제가 원하는 형태대로 정리되고, 이메일로 완료되었다고 노티를 받는 것입니다. 가능할 거라고 보시는지요?
-
미해결Airflow 마스터 클래스
task 데코레이터 사용시 궁금증이 있습니다.
task 데코레이터를 사용하면서부터 함수호출값을 받게 변경되는 점이 궁금합니다. 변경 전def foo(): ... py_task = PythonOperator( python_callable=foo)변경 후@task(task_id='py_task') def foo(): ... py_task = foo() 변경 후에는 foo라는 함수원형을 입력하는 것이 아니라 함수를 호출하게 되는데 데코레이터로 감쌌기 때문에 괜찮아지는 건가요?
-
미해결Airflow 마스터 클래스
task가 실행되지 않습니다.
task가 제대로 수행되지 않습니다작업의 로그를 확인하면아래와 같은 메세지만 나타나구요 *** Could not read served logs: Request URL is missing an 'http://' or 'https://' protocol. 아래에서 저와 같은 증상을 겪은 사람을 찾았습니다만링크메모리 사용량을 늘려서 해결했다고만 나타납니다 저는 이미 WSL의 메모리를 8GB에 swap도 2GB도 준 상태구요... airflow의 worker 자체의 에러로그를 찾아보았더니 아래와 같이 권한 문제가 나타납니다[2023-10-31 15:51:22,188: ERROR/ForkPoolWorker-15] [4c24a6e8-1133-46a5-99ac-5fd6bdb3c730] Failed to execute task [Errno 13] Permission denied: '/opt/airflow/logs/dag_id=dags_bash_operator'.zz5414-airflow-worker-1 | Traceback (most recent call last):zz5414-airflow-worker-1 | File "/usr/local/lib/python3.8/pathlib.py", line 1288, in mkdirzz5414-airflow-worker-1 | self._accessor.mkdir(self, mode)zz5414-airflow-worker-1 | FileNotFoundError: [Errno 2] No such file or directory: '/opt/airflow/logs/dag_id=dags_bash_operator/run_id=manual__2023-10-31T15:51:20.844476+00:00/task_id=bash_t1' worker 컨테이너안의 /opt/airflow/logs/dag_id=dags_bash_operator라는 파일에 권한이 없어서 발생하는 문제로 보입니다. 컨테이너 내부 파일의 권한은 어떻게 설정하는지를 모르겠습니다 제가 만든 dag말고도 example_bash_operator도 마찬가지로 실행되지 않고 같은 에러입니다. 해결해주실 수 있을까요?정말 airflow 열심히 배워보려고 했거든요 ㅠㅠ
-
해결됨실리콘밸리 엔지니어와 함께하는 Apache Airflow
섹션1 apache airflow 설치하기 질문
강의 3:17 에서"그대로 카피하셔서 설치하면" 이라고 하셨는데 이게 무슨뜻이죠? 구체적인 방법을 알려주시면 감사하겠습니다.카피해서 터미널에 붙여넣기를 하면 오류가 떠서요
-
미해결Airflow 마스터 클래스
WSL 설치
WSL 설치시 하위시스템이 이미 설치되어있습니다.라고 나오는데 Ubuntu 22.04.1 LTS는 없네요.이미지 다운 어떻게 받아서 설치하나요?
-
미해결Airflow 마스터 클래스
"Python Operator에서 Xcom 사용" 강의 질문
안녕하세요.강의 잘 듣고 있습니다. "Python Operator에서 Xcom 사용" 강의에서 task flow가python_xcom_push_by_return = xcom_push_result() xcom_pull_2(python_xcom_push_by_return) python_xcom_push_by_return >> xcom_pull_1()이렇게 되고, 그래프가 python_xcom_push_by_return -> xcom_pull_2python_xcom_push_by_return -> xcom_pull_1 이렇게 그려지는데, 이 경우 처리도 병렬적으로 되나요?아니면 그래프만 저렇게 나오고 실제 동작은파이썬 동작하는 것처럼 윗줄이 먼저 실행되어서 실제로는python_xcom_push_by_return -> xcom_pull_2 -> xcom_pull_1이렇게 실행이 되나요??
-
미해결Airflow 마스터 클래스
Chapter 16 스케줄러 부하 줄이기에 관한 질문입니다.
멀티 스케줄러 환경에서, 각 스케줄러는 Dag ParsingDB에 해당정보를 기록Scheduler Loop의 과정을 거친다고 이해했습니다. 여기서, Dag Parsing에 관한 부분은 DB에 관한 정보를 참고해서 하는것이 아닌 코드만을 가지고서 돌려보는 것으로 이해하고 있는데, 그렇다면 1번 과정(Dag Parsing)은 멀티 스케줄러 환경을 구성한다고 해서 시간 단축의 효과를 얻을 수 없는것인가요?? DAG이 10개가 있고, 스케줄러가 두개가 있다면,1번 스케줄러가 첫번째 DAG를 돌렸고, Lock을 걸은 후, 해당 작업이 큐까지 들어가게 되면 DB에 관한 정보의 Lock을 해제 하나요? 그렇다면 만약 다른 스케줄러가 해당 DAG의 정보를 검색했을때, 해당 DAG에 관한 Scheduler Loop를 돌것이고, 그렇다면 이 상황에서는 멀티스케줄러의 이점을 얻을 수 없는것인지가 궁금합니다. 감사합니다.
-
해결됨Airflow 마스터 클래스
Task 실행관련 질문입니다.
안녕하세요! 'Bash Operator & 외부 쉘파일 수행하기' 강의를 듣고 실습하던 중 에러가 생겨서, 해결을 시도했는데 계속해서 실패해서 질문을 남겨봅니다!airflow를 실행하고 태스크를 수행하면 fail이 뜨는데, 로그를 확인하면 파일을 찾을 수 없다고 합니다. [2023-10-12, 14:12:25 KST] {subprocess.py:93} INFO - /bin/bash: line 1: /opt/***_log/plugins/shell/select_fruit.sh: No such file or directory [2023-10-12, 14:12:25 KST] {subprocess.py:97} INFO - Command exited with return code 127 [2023-10-12, 14:12:25 KST] {taskinstance.py:1935} ERROR - Task failed with exception Traceback (most recent call last): File "/home/airflow/.local/lib/python3.8/site-packages/airflow/operators/bash.py", line 210, in execute raise AirflowException( airflow.exceptions.AirflowException: Bash command failed. The command returned a non-zero exit code 127. 저는 wsl에 디렉토리는 아래 경로처럼 설정했습니다.(select_fruit.sh파일에 실행 권한도 주었습니다.)/airflow_log/plugins/shell/select_fruit.sh 이후 docker-compose.yaml에 volumes 항목을 아래와 같이 설정을 했습니다. ${AIRFLOW_PROJ_DIR:-.}/airflow_log/plugins:/opt/airflow/plugins Vscdoe에서 경로는 아래와 같이 설정을 했습니다.t1_orange = BashOperator( task_id="t1_orange", bash_command="/opt/airflow_log/plugins/shell/select_fruit.sh ORANGE", ) t2_banana = BashOperator( task_id="t2_banana", bash_command="/opt/airflow_log/plugins/shell/select_fruit.sh BANANA", )경로 문제인지, 아니면 다른 문제인지.. 도움 요청해봅니다.저에게 너무 필요한 강의라서 잘 듣고 있습니다! 앞으로도 좋은 강의 부탁드리겠습니다!
-
해결됨Airflow 마스터 클래스
dags 경로 설정 질문 있습니다.
안녕하세요! 현재 Bash operator DAG 만들기 & DAG 디렉토리 셋팅 강의를 수강하고 있습니다.19분 50초 즈음 dags 폴더의 경로를 설정하는 과정에서 git repo 내의 dags를 지정하는 것에 궁금증이 생겨 질문을 작성하게 되었습니다. 만약 제가 다른 repo를 파서 새로운 dags 폴더를 만들게 되면, 그 때는 저 환경 설정을 다시 해야한다고 생각하는데, 이게 맞는지 궁금합니다. 다시 설정을 하지 않으려면, 설정한 dags 안에 모든 dag가 들어가야 하는데, 나중에 헷갈리지는 않을까 걱정이 되어 질문 드립니다. 덕분에 airflow 공부 하는 것이 기대가 됩니다. 좋은 강의 해주셔서 정말 감사합니다.
-
미해결Airflow 마스터 클래스
auto refresh
안녕하세요.강의 잘 듣고 있습니다. 저는 Mac환경에서 수강중이고,airflow 2.7.1을 사용중입니다. 강의에서 dag을 pull하고 2~3분 정도 기다리면 auto-refresh되어 compose를 재실행하지 않아도 된다고 하셨는데,제 경우엔 auto-refresh가 된 이후에도 새로 추가된 dag이 리스트에 나타나지 않더라구요. 그래서 매번 compose를 재실행하고 있는데,혹시 의심가는 원인이 있다면 말씀해주실 수 있으실까요?구글링을 해봐도 해결방법을 찾기 쉽지 않아서 질문 남깁니다ㅜㅜ
-
미해결Airflow 마스터 클래스
mac 환경에서 실습할 경우
안녕하세요 mac 환경에서 강의를 수강하려고 합니다.이러한 경우 wsl 설치 없이 다음 강의로 넘어가면 될까요??
-
미해결실리콘밸리 엔지니어와 함께하는 Apache Airflow
my_first_dag.py 파일 질문 입니다
Standalone 환경을 처음 세팅하게 되면 dags 디렉토리가 별도로 없는데 사용자가 직접 만들어주면 되는지 질문드립니다. 그리고 standalone 으로 airflow 서버를 작동시킨 이후 다시 exit 할 경우 자꾸 localhost에 서버가 남아있어 재 실행이 안되서 컴퓨터 리붓을 해야하는데 혹시 다른 방법이 있을까요?아래와 같은 방식으로 PID 서버를 kill 하지만 그래도 안될 경우가 많은 것 같습니다.(수정) 아래 방법은 작동하는 것 같네요ps -ef | grep airflowsudo kill -9 [PID port]
-
미해결Airflow 마스터 클래스
1년에 한 번 돌리는 스케줄도 에어플로우로 관리하면 좋을까요?
안녕하세요.수업 잘 듣고 있습니다! 년 단위의 데이터를 가져오는 경우엔1년에 딱 한 번만 코드를 작동하면 되는데,이런 경우에도 에어플로우로 관리를 해주는 게 좋을까요?태스크에 비해 너무 자원을 많이 쓰는 건지,그래도 프로세스를 보기 편하게 관리할 수 있다는 점에도 활용하는 게 좋을지고민이 많이 되네요. 강사님의 의견이 궁금합니다!
-
미해결Airflow 마스터 클래스
맥북으로 실습 진행이 가능한지 궁금합니다.
안녕하세요, 현재 M2 macbook을 사용하고 있습니다.강의에서 윈도우 환경에 WSL을 설치한 후 그 위에 airflow를 설치하여 실습을 진행하는 것으로 이해했습니다.구글링을 좀 해보니 맥북에서도 airflow 설치는 충분히 가능한 것으로 보이는데, 만약 맥북에서 설치했다고 하더라도 뒷부분 실습과정에서 많은 차이가 있는지 궁금합니다!
-
미해결실리콘밸리 엔지니어와 함께하는 Apache Airflow
Docker 에서 airflow 사용시 질문드립니다
강의에서는 강사님께서 airflow standalone 을 사용하셨는데,docker image로 airflow 서버 생성한 다음 postgres 서버와 연결하려고 하니 테스트 fail이 나고 DAG도 돌아가지 않는 것 같습니다. 혹시 docker image 상에서 DB connect 하는 방법 가이드 부탁가능하실까요?Airflow - connection settingDB connection info