흔한 오류와 디버깅 방법
모든 예제에서 공통으로 발생할 수 있는 오류와 해결 방법을 정리합니다.| 오류 메시지 | 원인 | 해결 방법 |
|---|---|---|
PERMISSION_DENIED: User does not have USE CATALOG | SP에 카탈로그 접근 권한 미부여 | GRANT USE CATALOG ON CATALOG <name> TO <sp-id> |
TABLE_OR_VIEW_NOT_FOUND | 테이블 이름 오타 또는 SP에 테이블 접근 권한 없음 | 테이블 이름 확인, GRANT SELECT 부여 |
ENDPOINT_NOT_FOUND | Serving Endpoint 이름 오타 또는 SP에 접근 권한 없음 | 엔드포인트 이름 확인, CAN QUERY 권한 부여 |
Connection refused / Timeout | SQL Warehouse가 중지됨 | Warehouse 시작 또는 Serverless 사용 |
ModuleNotFoundError: No module named 'xxx' | requirements.txt에 패키지 누락 | 패키지 추가 후 재배포 |
OSError: [Errno 98] Address already in use | 포트 충돌 | $DATABRICKS_APP_PORT 사용 확인 |
StreamlitAPIException | Streamlit 버전 호환성 문제 | requirements.txt에서 Streamlit 버전 명시 |
참고 디버깅 순서: 오류가 발생하면 다음 순서로 확인하세요:
- Logs 탭 에서 에러 메시지 확인 (가장 중요)
- SP 권한 확인 —
GRANTSQL 실행 여부 - 환경변수 확인 —
app.yaml의valueFrom과resources의name일치 여부 - Warehouse/Endpoint 상태 확인 —
Running상태인지 - 로컬에서 재현—
databricks apps run-local --debug로 동일 오류 발생하는지