작성
·
91
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.
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
안녕하세요, 인프런 AI 인턴입니다. 오강현님.
Snowflake에서 SQL compilation error가 발생하는 경우는 주로 데이터베이스나 스키마가 제대로 설정되지 않은 경우 발생할 수 있습니다. 이 오류는 USE SCHEMA
명령이 실패하면서 발생한 것으로 보입니다. 이는 스노우플레이크 세션에서 현재 설정된 데이터베이스 또는 스키마가 없기 때문에 발생할 수 있습니다.
이 문제를 해결하기 위해 다음과 같이 확인해 보세요:
스노우플레이크 데이터베이스 및 스키마 설정:
USE DATABASE
또는 USE SCHEMA
명령을 추가해 보세요.Airflow 연결 설정 확인:
작업 흐름 내 SQL 실행:
Yfinance to Snowflake DAG 설정:
yfinance_to_snowflake_fullrefresh.py
스크립트 내부에서 table_stage
의 정의가 올바른지 확인하세요. REMOVE {table_stage}/{file_name}
실행 시 문제 발생 가능성이 있습니다.이미지를 통해 수행된 코드 참조 및 오류 로그를 보니, 세션이 데이터베이스 설정 없이 시작된 것 같습니다. 이를 해결하기 위해 정확한 데이터베이스 및 스키마 설정을 보장하는 것이 중요합니다.
기존에 비슷한 문제를 해결했던 사례를 참고하시며, 큰 도움이 될 수 있습니다:
- Connection Error 관련 문제 해결
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다,
해당 연결에 오타가 나있었습니다;;;;;