묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Airflow 마스터 클래스
dags_email_on_failure
강사님, 안녕하세요!우선 이번에 실무에서 Airflow 기술스택을 다루게 되었는데, 상세한 강의를 준비해주셔서 덕분에 많은 도움을 받았습니다.다만 섹션 19 "107.Email전송 변경사항" 실습 중 다음과 같은 에러가 발생하여 질문드립니다.docker-compose.yaml의 "AIRFLOW__EMAIL__EMAIL_CONN_ID" 파라미터에 Connection에 등록한 연결 객체의 id를 정상적으로 입력했음에도 불구하고 위와 같은 에러가 발생했습니다.smtp_default라는 이름의 Connection을 별도로 등록하고 "AIRFLOW__EMAIL__EMAIL_CONN_ID" 파라미터에 smtp_default 값을 입력했더니 메일이 정상적으로 전송되었는데요.혹시 제가 실습 중에 잘못한 것이 있어서 안된건지, 아니면 강의 찍으신 시점이후로 동작에 변경사항이 생긴건지 궁금하여 질문드립니다.감사합니다.
-
미해결Airflow 마스터 클래스
DAG 실습 - dags_bash_operator 실행 실패
12. Bash operator DAG 만들기 & DAG 디렉토리 셋팅 실습을 따라서 해보았는데 실패가 나옵니다 ㅠㅠ혹시 왜 그런지 도움 받아볼 수 있을까요?
-
해결됨실리콘밸리 엔지니어와 함께하는 Apache Airflow
airflow 3로 되면서 2.x대에 지원 중단된 패키지가 많네요..ㅠ
airflow 3.x 기준에는 아래와 같이 써야할거같은데 코드가 많이 달라질까요.. 오픈소스라 매달 버전 업데이트를 하면서 코드까지 바뀌니 저같은 주니어는 따라가기 벅차네요..ㅠ SimpleHttpOperator -> HttpOperatorPostgresOperator -> SQLExecuteQueryOperator
-
해결됨실리콘밸리 엔지니어와 함께하는 Apache Airflow
dags 디렉토리안에 sql디렉토리 넣고 .sql 파일로 관리해도 되나요?
안녕하세요 강사님현재 airflow 3.2 버전을 퀵하게 운용할 일이 생겨 이 강의를 보며 큰 도움을 받고 있습니다 감사합니다 해당 영상에서는 dags 디렉토리 안에 파이썬 스크립트안에서 입력된 sql문을 불러오는 task가 있는데 혹시 사전에 필요한 테이블을 만든 뒤dags 디렉토리 안에 sql 디렉토리를 만들어 .sql 파일에 쿼리문을 넣고파이썬 스크립트로 해당 .sql 파일을 불러와 실행 시키는 방법도 가능할까요? ETL 작업을 하다보면 원천에서 insert into select 문으로 배치를 이용하여 데일리로 스테이징, 마트까지 붓기에 따로 sql 파일을 만들어 관리 하는게 좋겠다 생각이 들더라구요혹시 관련된 강의 섹션 혹은 , 참조할 수있는 레퍼런스가 있는지 궁금합니다!
-
미해결Airflow 완벽 가이드 - Part 1
astro dev init 에 Dockerfile 버전 고정 방법 문의
안녕하세요 권철민 강사님 astro dev start 에서 에러가 되어찾아보니 dev init 명령어 이후 생성된 Dockerfile 파일에 최신 버전으로 자동 다운 되는거 같습니다 Astro CLI Version: 1.34.0FROM astrocrpublic.azurecr.io/runtime:3.2-4 == 파이썬 3.13환경 으로 되는거 같고 그에 따라,requirement.txt 라이브러리 버전과 일치 하지 않아 실행이 되지 않는거 같습니다혹시 깃허브 airflow_part_01Public/ requirements.txt 파일 라이브러리 버전 높여서 업로드 부탁 드릴 수 있을까요?
-
해결됨토스 개발자와 함께하는 Data Workflow Management 기반의 대용량 데이터 처리 설계 패턴
데이터베이스 설정 가져오기 시 캐싱 관련 질문 있습니다
안녕하세요, 좋은 강의 감사드립니다.강의 내용 중 DAG Top-Level에서 캐싱을 사용해 DB 설정 조회 시 스케줄러 DAG 파싱 리소스를 절약할 수 있다는 부분에 대해 질문이 생겨 글을 남깁니다.제가 알기로는 Airflow 스케줄러(DagFileProcessorManager)가 주기적으로 DAG를 파싱할 때, 각 DAG 파일마다 새로운 자식 프로세스(PID)를 포크(Fork)하여 처리를 위임하고 파싱이 끝나면 해당 프로세스를 종료하는 것으로 알고 있습니다.그렇다면 파이썬 메모리에 상주하는 @lru_cache 의 경우, 프로세스가 종료되면 캐시도 함께 사라지게 되어 다음 파싱 주기 때는 캐시 히트가 발생하지 않고 매번 DB에 새로 쿼리를 날리게 되지 않나 생각이 듭니다.제가 Airflow 스케줄러의 파싱 프로세스 메커니즘을 잘못 이해하고 있는 부분이 있는지 궁금합니다.만약 제 생각이 맞다면, 현업에서 이처럼 외부 DB 설정을 기반으로 DAG나 Task를 동적으로 생성할 때 스케줄러 부하를 줄이기 위해 주로 어떤 방식 캐싱 또는 시스템을 활용하시는지 조언을 구하고 싶습니다.감사합니다!# lru-cache # 데이터베이스에서 설정 가져오기 (간단히 표현) def get_configs_from_db(): return [ {"name": "customer_sync", "schedule": "0 1 * * *"}, {"name": "sales_sync", "schedule": "0 2 * * *"} ]
-
미해결Airflow 완벽 가이드 - Part 1
astro dev start - python 라이브러리 설치 fail
[+] Building 353.8s (9/10) docker:desktop-linux => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 81B 0.0s => [internal] load metadata for astrocrpublic.azurecr.io/runtime:3.2-2 2.2s => [internal] load .dockerignore 0.0s => => transferring context: 113B 0.0s => [1/1] FROM astrocrpublic.azurecr.io/runtime:3.2-2@sha256:466a3e0a33a285fcde43340d6b10dc529284c19ea306e004c2e47d8295e6754d 0.0s => => resolve astrocrpublic.azurecr.io/runtime:3.2-2@sha256:466a3e0a33a285fcde43340d6b10dc529284c19ea306e004c2e47d8295e6754d 0.0s => [internal] load build context 0.0s => => transferring context: 1.21kB 0.0s => CACHED [2/8] ONBUILD COPY packages.txt . 0.0s => CACHED [3/8] ONBUILD RUN /usr/local/bin/install-system-packages 0.0s => CACHED [4/8] ONBUILD COPY requirements.txt . 0.0s => ERROR [5/8] ONBUILD RUN /usr/local/bin/install-python-dependencies 351.0s ------ > [5/8] ONBUILD RUN /usr/local/bin/install-python-dependencies: 0.349 + /usr/local/bin/install-python-dependencies 0.360 Installing python dependencies using uv 0.580 Using Python 3.13.13 environment at: /usr/local 63.58 Resolved 198 packages in 1m 00s 63.68 Downloading flask-appbuilder (2.1MiB) 63.68 Downloading polars-runtime-32 (43.1MiB) 64.31 Downloading botocore (14.3MiB) 64.31 Downloading pyarrow (46.6MiB) 64.32 Downloading lxml (5.0MiB) 64.32 Downloading adbc-driver-manager (4.5MiB) 64.37 Downloading sqlean-py (2.9MiB) 64.37 Downloading connectorx (41.7MiB) 64.38 Downloading adbc-driver-sqlite (1.5MiB) 133.1 Downloaded adbc-driver-sqlite 149.2 Downloaded flask-appbuilder 181.5 Downloaded sqlean-py 206.7 Building pandas==2.1.4 223.0 Downloaded adbc-driver-manager 233.4 Downloaded lxml 345.7 Downloaded botocore 348.0 Building numpy==1.26.4 350.4 × Failed to build `numpy==1.26.4` 350.4 ├─▶ The build backend returned an error 350.4 ╰─▶ Call to `mesonpy.build_wheel` failed (exit status: 1) 350.4 350.4 [stdout] 350.4 + /tmp/.tmpsTSE7P/builds-v0/.tmpEbhjPZ/bin/python 350.4 /tmp/.tmpsTSE7P/sdists-v9/index/dac0d3b231508420/numpy/1.26.4/XkQbLab9UzRfRV7eP-5zy/src/vendored-meson/meson/meson.py 350.4 setup 350.4 /tmp/.tmpsTSE7P/sdists-v9/index/dac0d3b231508420/numpy/1.26.4/XkQbLab9UzRfRV7eP-5zy/src 350.4 /tmp/.tmpsTSE7P/sdists-v9/index/dac0d3b231508420/numpy/1.26.4/XkQbLab9UzRfRV7eP-5zy/src/.mesonpy-39t2gzuy 350.4 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md 350.4 --native-file=/tmp/.tmpsTSE7P/sdists-v9/index/dac0d3b231508420/numpy/1.26.4/XkQbLab9UzRfRV7eP-5zy/src/.mesonpy-39t2gzuy/meson-python-native-file.ini 350.4 The Meson build system 350.4 Version: 1.2.99 350.4 Source dir: 350.4 /tmp/.tmpsTSE7P/sdists-v9/index/dac0d3b231508420/numpy/1.26.4/XkQbLab9UzRfRV7eP-5zy/src 350.4 Build dir: 350.4 /tmp/.tmpsTSE7P/sdists-v9/index/dac0d3b231508420/numpy/1.26.4/XkQbLab9UzRfRV7eP-5zy/src/.mesonpy-39t2gzuy 350.4 Build type: native build 350.4 Project name: NumPy 350.4 Project version: 1.26.4 350.4 350.4 ../meson.build:1:0: ERROR: Unknown compiler(s): [['cc'], ['gcc'], 350.4 ['clang'], ['nvc'], ['pgcc'], ['icc'], ['icx']] 350.4 The following exception(s) were encountered: 350.4 Running `cc --version` gave "[Errno 2] No such file or directory: 'cc'" 350.4 Running `gcc --version` gave "[Errno 2] No such file or directory: 350.4 'gcc'" 350.4 Running `clang --version` gave "[Errno 2] No such file or directory: 350.4 'clang'" 350.4 Running `nvc --version` gave "[Errno 2] No such file or directory: 350.4 'nvc'" 350.4 Running `pgcc --version` gave "[Errno 2] No such file or directory: 350.4 'pgcc'" 350.4 Running `icc --version` gave "[Errno 2] No such file or directory: 350.4 'icc'" 350.4 Running `icx --version` gave "[Errno 2] No such file or directory: 350.4 'icx'" 350.4 350.4 A full log can be found at 350.4 /tmp/.tmpsTSE7P/sdists-v9/index/dac0d3b231508420/numpy/1.26.4/XkQbLab9UzRfRV7eP-5zy/src/.mesonpy-39t2gzuy/meson-logs/meson-log.txt 350.4 350.4 hint: This usually indicates a problem with the package or the build 350.4 environment. ------ Dockerfile:1 -------------------- 1 | >>> FROM astrocrpublic.azurecr.io/runtime:3.2-2 2 | -------------------- ERROR: failed to build: failed to solve: process "/bin/bash -o pipefail -e -u -x -c /usr/local/bin/install-python-dependencies" did not complete successfully: exit code: 1 What's next: Debug this build failure with Gordon → docker ai "help me fix this build failure" Error: an error was encountered while building the image, see the build logs for details 위 같은 에러가 나서 명령어 docker ai "help me fix this build failure" 로 docker ai 에 진입하고 Gordon 이 requirement.txt 의 버전을 변경했습니다. 바뀐 버전으로 astro dev start 명령어로 build 성공했습니다. # Astro Runtime includes the following pre-installed providers packages: https://www.astronomer.io/docs/astro/runtime-image-architecture#provider-packages apache-airflow-providers-fab apache-airflow-providers-http==5.4.0 apache-airflow-providers-amazon==9.20.0 apache-airflow-providers-mysql==6.4.1 apache-airflow-providers-postgres==6.5.1 numpy>=2 pandas>=2.2 polars[database]==1.37.1 #adbc-driver-manager #adbc-driver-postgresqlai 진단시 메세지 보니까 python 3.13 기반으로 의존성 맞춰주는거 같더라구요.이렇게 변경된 의존성으로 실습 진행해도 될까요?
-
미해결Airflow 완벽 가이드 - Part 1
astro project 실무 적용 질문
안녕하세요! 강의 재밌게 수강하고 있습니다.몇가지 질문드립니다. 수업에서 astro project를 설치하고 로컬 호스트가 아닌 scheduler 컨테이너에 접속하여 직접 dags 파일들을 수정한 이유가 있을까요?제가 이해하기로는 로컬 호스트에서 dags, include, plugins 디렉토리는 각 컨테이너에 공유되기 때문에 로컬 호스트에 있는 코드를 수정하면 될 것 같은데, scheduler의 컨테이너에 직접 접속하여 수정한 이유가 궁금합니다.또한, 실무에서 airflow dev 환경에서 빠르게 테스트하기 위해 컨테이너에 직접 접속하여 코드 수정 및 확인 하는 케이스가 있으신지도 궁금합니다!현재 업무에서 일부 airflow를 직접 구성해서 사용하고 있는데, 로컬에서의 테스트가 불가능(Hive 연동 등으로 인하여)하여 항상 dev 환경에 배포 후 결과를 확인하고 있습니다.강사님께서는 airflow를 운영 및 개발 하시면서 로컬에서 테스트할 수 있는 환경(astro 등)을 구성하여 사용하고 계시는지도 궁금합니다.
-
미해결Airflow 마스터 클래스
pykrx 회원제 전환으로 인한 실습 불가
파이썬으로 주식정보 가져오기 실습을 진행하던 중 제목과 같은 이슈에 대해 알게 되었습니다. 해당 사안을 확인해 주시어 실습내용에 대해 수정요청드립니다.
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
48강 csv
안녕하세요, 강사님 우선 좋은 수업 제공해주셔서 좀 더 쉽게 툴을 배우고 있습니다 감사합니다. 다름이 아니라 48강 csv 파일 2개를 어디서 다운로드 받는지 모르겠습니다session_timestamp.csvuser_session_channel.csv자료 다운로드를 클릭하면 pdf만 다운로드 됩니다 학습 관련 질문을 상세하게 남겨주시면 더 좋습니다. 예를 들어 이해가 안 가는 부분이 있다고 하면 강의에서 어느 부분인지 어떤 부분이 이해가 안되는지 등등 추가 정보가 큰 도움이 됩니다. 그리고 에러가 난다면 어떤 에러 메시지가 나오는지 같이 공유해주세요. 혹시라도 유사한 질문이 있었는지 먼저 확인 부탁 드리겠습니다. 서로 예의를 지키며 존중하는 문화를 만들어갔으면 하고 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Airflow 완벽 가이드 - Part 1
강사님의 로그포맷과 저의 로그포맷이 차이가 있는것 같습니다.
강사님 로그 포맷저의 로그포맷어떤 부분을 수정해야 할까요?
-
미해결Airflow 완벽 가이드 - Part 1
7 강에서 astro dev start를 하는데, localhosst8080화면이 안뜹니다
선생님 안녕하세요.....7강중간까지 무사히 따라왓는데, astro dev start치면 아래사진과 같은 에러로 localhosst8080화면이 뜨질 안습니다 ㅠㅠ 제가 도커 등 완전 초보라서 알기쉽게 조언 좀 부탁드립니다 ㅎㅎㅎ ㅠ
-
미해결Airflow 완벽 가이드 - Part 1
astro dev start에서 building 시간이 깁니다.
안녕하세요. github파일에서 requirements.txtdocker-compose.yml.env 파일 다운후, 아래와 같이 바꿔준뒤에 astro dev start를 했는데요, 처음에는 빌딩하는데 오래 걸리겠거니 했는데, 강의를 듣는 과정에서 너무 오래 걸리네요. 빌딩이 얼마나 걸리는지 알 수 있을까요? 대략 1시간 정도 지났습니다.
-
미해결Airflow 마스터 클래스
수료증 발급
수료증 발급하려는데실명인증하라고만 나오고 수료증 다운로드가 죄지 않습니다
-
미해결Airflow 마스터 클래스
에러 발생 관련 질문드립니다.
from __future__ import annotations import pendulum from airflow.providers.standard.operators.bash import BashOperator from airflow.sdk import DAG, chain with DAG( dag_id="dags_bash_operator", schedule="0 0 * * *", start_date=pendulum.datetime(2023, 1, 1, tz="Asia/Seoul"), catchup=False ) as dag: bash_t1 = BashOperator( task_id="bash_t1", bash_command="echo whoami" ) bash_t2 = BashOperator( task_id="bash_t2", bash_command="echo $HOSTNAME" ) bash_t1 >> bash_t2Log message source details sources=["Could not read served logs: Invalid URL 'http://:8793/log/dag_id=dags_bash_operator/run_id=scheduled__2026-02-03T15:00:00+00:00/task_id=bash_t1/attempt=2.log': No host supplied"]airflow실행시 위와 같은 에러가 발생합니다.
-
미해결Airflow 마스터 클래스
vscode 작업화면에 오류가 발생하지 않습니다.
vscode 작업화면에 오류가 발생하지 않습니다.오탈자가 있을 경우 노란색 줄이나 빨간 줄이 떠야 하는데 뜨지 않아요.
-
미해결Airflow 마스터 클래스
plugins 폴더 생성
안녕하세요!plugins 폴더 생성은 단순히 airflow/plugins/shell 각 폴더 생성해서, sh 파일을 넣어서 수업 부분 진행하면 될까요?위 방법으로 했는데 선생님과 다르게, wsl에서 airflow 경로 안에 plugins가 안보이네요ㅠ
-
미해결Airflow 마스터 클래스
WSL에서 git push 가 안되요 ㅠ
실습내용을 열심히 따라가다 보니 WSL에서 git push하려면 토큰 방식으로 생성된 비번을 입력하라고 하셨는데 하다 보니 아래 캡처와 같이 계속 에러가 나네요. 따라하다 무엇을 잘못한 걸까요? ㅠㅠ 참고로 토큰값 생성은 Tokens(classic)으로도 해보고, Fine-grained tokens로도 생성해서 해 봤습니다. 둘 다 안되네요. ㅠ
-
미해결Airflow 마스터 클래스
chatGPT&Airflow로 블로그 자동 포스팅하기 는 Deprecated 가 필요합니다.
2024년 2월 이후로 Tistory OpenAPI 서비스 종료가 되었다고 합니다. https://tistory.github.io/document-tistory-apis/
-
미해결Airflow 마스터 클래스
github에 회원가입이 안되는데 원인이 뭔지 모르겠어요 ㅠ
캡차 응답을 확인할 수 없습니다. 문제 해결 정보는 https://docs.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha 를 참조하세요.위와 같이 메시지가 뜨는데 회사나 기관의 네트워크을 사용하라고 하는데 꼭 고정IP를 사용해야 하는 건가 해서요. 집이나 도서관 등 유동IP는 사용이 불가능한 건가요?