inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

yfinance로 주식 데이터 읽어오기: 전체 업데이트 - 실습 포함

본문과 같은 메시지가 뜨면서, 어느 순간부터 계속 안되는데, 어떤 이유일까요 ㅠㅠ

217

오강현

작성한 질문수 5

1

[2025-04-07T14:51:04.313+0000] {taskinstance.py:3310} ERROR - Task failed with exception

Traceback (most recent call last):

  File "/opt/airflow/dags/yfinance_to_snowflake_fullrefresh.py", line 56, in load

    raise e

  File "/opt/airflow/dags/yfinance_to_snowflake_fullrefresh.py", line 41, in load

    cur.execute(f"USE SCHEMA {schema};")

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/cursor.py", line 1087, in execute

    Error.errorhandler_wrapper(self.connection, self, error_class, errvalue)

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 284, in errorhandler_wrapper

    handed_over = Error.hand_to_other_handler(

                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 339, in hand_to_other_handler

    cursor.errorhandler(connection, cursor, error_class, error_value)

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 215, in default_errorhandler

    raise error_class(

snowflake.connector.errors.ProgrammingError: 002043 (02000): 01bb881b-0000-c602-0000-cde100062082: SQL compilation error:

Object does not exist, or operation cannot be performed.

 

During handling of the above exception, another exception occurred:

 

Traceback (most recent call last):

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 767, in executetask

    result = executecallable(context=context, **execute_callable_kwargs)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 733, in executecallable

    return ExecutionCallableRunner(

           ^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/operator_helpers.py", line 252, in run

    return self.func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/baseoperator.py", line 406, in wrapper

    return func(self, args, *kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/decorators/base.py", line 266, in execute

    return_value = super().execute(context)

                   ^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/baseoperator.py", line 406, in wrapper

    return func(self, args, *kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/operators/python.py", line 238, in execute

    return_value = self.execute_callable()

                   ^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/operators/python.py", line 256, in execute_callable

    return runner.run(*self.op_args, **self.op_kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/operator_helpers.py", line 252, in run

    return self.func(*args, **kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/opt/airflow/dags/yfinance_to_snowflake_fullrefresh.py", line 62, in load

    cur.execute(f"REMOVE {table_stage}/{file_name}")

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/cursor.py", line 1087, in execute

    Error.errorhandler_wrapper(self.connection, self, error_class, errvalue)

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 284, in errorhandler_wrapper

    handed_over = Error.hand_to_other_handler(

                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 339, in hand_to_other_handler

    cursor.errorhandler(connection, cursor, error_class, error_value)

  File "/home/airflow/.local/lib/python3.12/site-packages/snowflake/connector/errors.py", line 215, in default_errorhandler

    raise error_class(

snowflake.connector.errors.ProgrammingError: 090105 (22000): 01bb881b-0000-c619-0000-cde10006306e: Cannot perform STAGE RM. This session does not have a current database. Call 'USE DATABASE', or use a qualified name.

image.pngimage.pngimage.pngimage.png

Snowflake 세션에서 데이터베이스 또는 스키마가 제대로 설정되지 않아 발생한 문제로 보인다는데;;; 뭔가 실행에 이상이 있는건지;;;;

python sql airflow snowflake

답변 2

0

한기용

말씀하신 것처럼 마지막에 보면 아래와 같은 에러 메시지가 있습니다.

This session does not have a current database. Call 'USE DATABASE', or use a qualified name.

Snowflake Connection을 Airflow UI에서 설정할 때 database 항목을 설정했는지 한번 확인해보실래요? 거기에 dev라고 설정이 되어야 하는데 그게 빠지면서 현재 연결에 데이터베이스 설정이 안되는 것이 아닌가 싶습니다.

0

오강현

감사합니다,
해당 연결에 오타가 나있었습니다;;;;;

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 오강현님.

Snowflake에서 SQL compilation error가 발생하는 경우는 주로 데이터베이스나 스키마가 제대로 설정되지 않은 경우 발생할 수 있습니다. 이 오류는 USE SCHEMA 명령이 실패하면서 발생한 것으로 보입니다. 이는 스노우플레이크 세션에서 현재 설정된 데이터베이스 또는 스키마가 없기 때문에 발생할 수 있습니다.

이 문제를 해결하기 위해 다음과 같이 확인해 보세요:

  1. 스노우플레이크 데이터베이스 및 스키마 설정:

    • DAG에서 Snowflake 연결을 설정할 때 초기 데이터베이스 및 스키마를 설정했는지 확인하세요.
    • 데이터베이스와 스키마를 명시적으로 설정하는 USE DATABASE 또는 USE SCHEMA 명령을 추가해 보세요.
  2. Airflow 연결 설정 확인:

    • Airflow에 설정된 Snowflake 연결이 올바른지, 특히 사용자 인증 및 접근 권한이 스노우플레이크의 리소스에 대한 올바른 권한을 가지고 있는지 확인하세요.
  3. 작업 흐름 내 SQL 실행:

    • 스노우플레이크에 대해 SQL 명령을 실행할 때 적절한 스코프 내에서 실행되고 있는지 확인하세요.
    • 스노우플레이크의 오브젝트 (데이터베이스, 스키마 등)이 존재하는지 확인이 필요합니다.
  4. Yfinance to Snowflake DAG 설정:

    • yfinance_to_snowflake_fullrefresh.py 스크립트 내부에서 table_stage의 정의가 올바른지 확인하세요. REMOVE {table_stage}/{file_name} 실행 시 문제 발생 가능성이 있습니다.

이미지를 통해 수행된 코드 참조 및 오류 로그를 보니, 세션이 데이터베이스 설정 없이 시작된 것 같습니다. 이를 해결하기 위해 정확한 데이터베이스 및 스키마 설정을 보장하는 것이 중요합니다.

기존에 비슷한 문제를 해결했던 사례를 참고하시며, 큰 도움이 될 수 있습니다:
- Connection Error 관련 문제 해결

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

소리가 겹쳐서 들려요

0

4

1

48강 csv

1

57

2

자료 다운로드 하면 링크가 모두 클릭이 안됨

0

96

2

48강 강의 여전히 49강과 같은 강의가 나옵니다

0

95

3

forloop으로 task 정의시 task_id 정해지는 로직

0

91

3

SWAP 문법 활용 이유

1

91

2

copy into 성능 저하

1

70

2

데이터 가져올때 1달치만 가져오는 상태

1

78

2

31번 실습시 에러 발생

0

83

2

pdf 링크 오류

1

126

2

Window11 Home 버전 도커 설치 방법 - Docker Desktop - Unexpected WSL error

0

417

1

이전 강의에서도 그랬지만 소리가 너무 작아요

2

113

2

nps.csv 파일 위치

0

123

2

강의가 잘못 올라온것이 있네요. => 48강

1

139

4

Airflow 웹 UI에서 파일 디렉토리 구조 확인이 가능한가요?

0

185

1

yfinance 주식 읽어 오기 처음 중, no module named helpers 에러

2

160

2

Data Drift 발생시 머신러닝 모델이 동작하지 않는 것의 의미

1

157

1

docker 에러

0

201

2

Airflow UI DAGs 리스트들

1

202

2

nps.csv 파일 위치 및 실습 질문

0

206

2

Airflow Variables 설정

1

123

2

섹션 8 PostgresToSnowflake DAG 실행 중 발생한 오류

1

124

2

섹션 8 yfinance 강의 수강 중 발생한 오류

1

137

2

ETL 작성 이유

1

196

3