묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
Airflow Variables 설정
Airflow Variables 설정시 스노우플레이크와 연결을 위한 snowflake_userid, snowflake_password, snowflake_account 설정은 이해를 합니다. 그런데 첫번째인 Country_capital_url 왜 설정하는지 이해가 안갑니다.
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
섹션 8 PostgresToSnowflake DAG 실행 중 발생한 오류
안녕하세요 선생님,강의를 정말 재밌게 수강하고 있습니다. 섹션 8 PostgresToSnowflake DAG를 실행해서 Snowflake에 user_session_channel 테이블과 session_timestamp 테이블에 CSV 파일 로드할 때 오류가 있는것 같아요. 간단하게 해결할 수 있는 문제인데 DAG 파이썬 파일에서 os import 구문이 빠져있는거 같아요 import os이거 넣어서 간단하게 해결했습니다!좋은 강의 만들어주셔서 감사하고 곧 추가될 강의도 기다리고 있겠습니다!
-
해결됨Airflow 마스터 클래스
안녕하세요 대학생 질문드립니다
강의를 들으면서 데이터 엔지니어를 준비하고 있는 학부생입니다.취업사이트에 데이터 엔지니어를 찾아보면 대게 경력 위주로 채용을 진행하고 있는데데이터 엔지니어가 신입으로 일을 할 수 있는 방법이 있는 지 ?아니면 신입으로서 바로 데이터 엔지니어로 일하기는 조금 어려운게 현실인지 궁금하여 글 작성합니다.괜찮으시다면 데이터엔지니어 직무 입사자가 이런 경험이 있으면 채용하겠다는 부분이 있는 지 알려주시면 감사하겠습니다.
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
섹션 8 yfinance 강의 수강 중 발생한 오류
안녕하세요, 데이터 엔지니어에 관심을 가지고 이제 막 공부를 시작한 학생입니다.섹션 8 yfinance 첫 번째 강의를 수강하던 도중에 에러가 생겨서 문의 남깁니다.작성되어 있는 코드 중에extract(symbol) >> load(file_path, symbol, schema, table)이 부분에서 문제가 생겼었습니다.그래서 file_path = extract(symbol) extract(symbol) >> load(file_path, schema, table)이렇게 수정해서 오류를 해결했는데, airflow web ui에서 다른 오류가 발생했길래 또 찾아보니 load함수에서 문제가 생긴 것 같습니다. file_path를 load함수에서도 다시 만들어줘서 snowflake에 데이터를 적재할 때 올바른 파일 경로를 찾지 못해서 생기는 오류가 발생하는거 같아요.def load(file_path, schema, table): cur = util.return_snowflake_conn("snowflake_conn") try: cur.execute(f"USE SCHEMA {schema};") cur.execute( f"""CREATE TABLE IF NOT EXISTS {table} ( date date, open float, close float, high float, low float, volume int, symbol varchar )""" ) cur.execute("BEGIN;") delete_sql = f"DELETE FROM {table}" logging.info(delete_sql) cur.execute(delete_sql) # 바로 받은 file_path 사용 (더 이상 경로 재생성 X) util.populate_table_via_stage(cur, table, file_path) cur.execute("COMMIT;") except Exception as e: cur.execute("ROLLBACK;") raise e finally: file_name = os.path.basename(file_path) table_stage = f"@%{table}" cur.execute(f"REMOVE {table_stage}/{file_name}") cur.close()요렇게 변경해주니까 데모 영상에 나온 것과 같이 똑같이 스노우플레이크에 잘 적재되었습니다.!제가 제대로 해결한게 맞을까요??
-
미해결실리콘밸리 데이터 리더가 알려주는 Airflow 기초
ETL 작성 이유
이 과정은 google colab을 사용하여 ETL 프로세스를 만들어 스노우플레이크에 적재하는 방식을 보여줍니다. 두 개의 컬럼을 갖고 있는 country_capital.csv 파일을 텍스트로 풀어 쓰고 콤마로 나눠 country와 capital 로 나누는 과정을 설명해주는데, 이 과정을 진행하는 이유가 단순 궁금합니다.스노우플레이크 GUI 환경에서 add data 하여 스테이지-테이블 순으로 적재를 하면 되는데 코드화 하여 적재하는 구분하여 적재하는 이유가 단순히 궁금합니다. 혹시, 나중에 처리하여 올리기 힘든 데이터의 경우 이렇게 전처리 과정을 미리 거쳐 올리는 방법을 알려주시는건가요?
-
미해결Airflow 마스터 클래스
airflow 자격증명 관련문의
안녕하세요 airflow 관련 자격증이 있는지 궁금합니다. 구글링 해보니 따로 안나오는 것 같아서요..!보통 어떤식으로 airflow 사용역량을 어필 할 수 있는지 궁금합니다 .
-
해결됨Airflow 마스터 클래스
질문드립니다 4~5강
op_args와 op_kwargs 등 파라미터를 전달하는 함수를 사용할 때 task 파라미터를 사용해서 하는 방법은 따로 설명이 없는데 이렇게 함수에 파라미터를 전달해서 사용할 때는 파이썬오퍼레이터를 항상 써야만하는 건가요?
-
미해결Airflow 마스터 클래스
module 'requests' has no attribute 'post'
토근 발급하는 과정에서 해당 오류로 다음 진도를 못나가고 있습니다..ㅜㅜ이전 서울시 공공데이터 실습하는 과정에서 requests 정상 import 및 문제없이 작동하였는데, 이번 실습에선 module 'requests' has no attribute 'post' 오류가 발생하네요.- 오류를 해결하기 위해 requests.py 파일이 있는지 확인- requests 정상 import 확인- requests reinstall진행하였으나 문제 해결이 되지 않았습니다..혹시 놓친 부분이 있는지 도와주세요. 감사합니다!import requests client_id = '' redirect_url = 'https://example.com/oauth' authorize_code = '' token_url = 'https://kauth.kakao.com/oauth/token' data = { 'grant_type': 'authorization_code', 'client_id': client_id, 'redirect_url': redirect_url, 'code': authorize_code } response = requests.post(token_url, data=data) tokens = response.json() print(tokens) 추가로 아래 AI 답변 관련하여 확인 해보았습니다. 그럼에도 놓친 사항이 있을 수 있으니 함께 확인하여 답변해주시면 감사하겠습니다!
-
미해결Airflow 마스터 클래스
Docker 설치 오류 문의드립니다
현재 Mac OS 에서 진행 중입니다.Docker 설치하는데 진행 단계에서 오류가 발생해서 문의드립니다.root@3293a1a48e67:/# service docker start/etc/init.d/docker: 62: ulimit: error setting limit (Invalid argument)제가 찾아본 바로는 구버전이라 해당 오류가 발생한다고 하는데 해결 방법을 따로 알려주실수 있을까요? 그리고 추가적으로 꼭 우분투에 설치해야 강의를 진행할 수 있는 걸까요?우분투 가상환경 없이 도커랑 에어플로우 설치하면 제한이 있는건가요?
-
미해결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로 작업을 하지않고 컴퓨터 두 대로 진행하려면 어떻게 해야될까요? 같은 네트워크에 있는 상태 입니다.