inflearn logo
강의

Khóa học

Chia sẻ kiến thức

SQL cơ bản được chia sẻ bởi nhà lãnh đạo dữ liệu Thung lũng Silicon

Thiết lập môi trường thực hành DuckDB

DuckDB API 사용시 Connection Error가 발생합니다.

374

KyungJun Lee

2 câu hỏi đã được viết

1

실습 코드를 순서대로 진행하니 아래와 같은 에러가 발생했습니다.

Screenshot 2024-09-22 at 11.20.40 PM.png


*********************

확인해보니 3번째 셀에서 duckdb를 연결하고

%sql duckdb:///duckdb.db

 

그 아래에서 다음과 API로 연결을 시도하면 계속 에러가 발생합니다.

duckdb_con = duckdb.connect("duckdb.db")

 

**********************

그래서 노트북 세션을 초기화하고 duckdb.db 파일을 삭제하고 3번째 셀을 실행하지 않고 duckdb API로 바로 연결하니 그때서야 제대로 연결되었습니다.

sql 빅데이터 dbms/rdbms 데이터-엔지니어링 duckdb 데이터-리터러시

Câu trả lời 4

0

keeyonghan

제가 전에 이걸 답글을 안 올렸네요 ㅜㅜ 먼저 죄송하다는 말씀 드리겠습니다.

해당 google colab을 수정했고 도입부에 어떤 변화들이 있었는지 정리했는데 여기 다시 적어보겠습니다:

강의 출시 후 변경 사항 (1)

  • DuckDB가 한 세션 내에서 하나보다 많은 세션을 막기 시작했습니다. 그 결과 강의 내에서 SQL extension으로 연결하고 Python API로 연결하는 걸 동시에 사용할 수 없는 불편함이 생겼습니다.

  • 한번에 하나씩만 연결하게 내용을 변경했고 SQL extension 사용 전후로 아래 코드를 실행합니다.

%sql duckdb:///duckdb.db
...
%sql --close duckdb:///duckdb.db

Python API 커넥션의 경우 앞뒤로 다음 코드를 실행합니다.

duckdb_con = duckdb.connect("duckdb.db")
# ...
duckdb_con.close()

강의 출시 후 변경 사항 (2)

  • 앞서 DuckDB 업그레이드 이외에도 SQLAlchemy 2.x로 업그레이드되면서, 모든 실행이 트랜잭션 안에서 이뤄지면서 실행이 무슨 이유이건 실패하면 명시적으로 ROLLBACK을 해주어야 합니다. 예를 들어 두 개의 SQL(SQL1, SQL2)을 별도 셀로 실행한다면 전에는 SQL1이 실패해도 뒤 SQL2를 실행하는데 문제가 없었습니다만 이제는 SQL1이 실패하면 SQL2를 실행하기 전에 "ROLLBACK;"을 실행해주어야 합니다.

SQL1; -- 이게 실패하면 뒤 SQL2를 실행하기 전에 앞서 ROLLBACK을 별도로 실행해주어야함
ROLLBACK;
SQL2; 

문제가 계속되면 알려주세요!

0

newjoseph96

저도 같은 문제가 발생하는데, 혹시 업데이트된 부분이 있을까요?

0

keeyonghan

확인해보고 다시 답변드릴게요! 감사합니다.

-2

communityai8509

안녕하세요, 인프런 AI 인턴입니다. KyungJun Lee님.

DuckDB API 사용 시 발생하는 연결 문제에 대한 해결 방법은 이미 여러 질문 및 답변에서 논의된 바 있습니다.

비슷한 질문을 참고하시면 도움이 될 것으로 보입니다. 아래에 유사한 질문 및 답변 링크를 첨부합니다:

DuckDB API 사용 시 Connection Error 해결 방법

해당 링크에서 DuckDB 연결 문제를 해결하는 다양한 방법과 팁을 확인할 수 있습니다. DuckDB는 동시에 여러 설정으로 동일한 데이터베이스 파일에 연결할 수 없다는 제한이 있으며, 이는 연결 시 발생하는 일반적인 문제 중 하나입니다.

핵심 요약:
- 같은 데이터베이스 파일에 여러 연결을 생성하려면 모든 설정이 동일해야 합니다.
- 초기화한 후 바로 API로 연결하는 것이 문제를 방지할 수 있는 한 가지 방법입니다.

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

강사님 안녕하세요 ㅎdatabricks환경에 대한 설

0

3

1

작업형 1 유형 부분

0

13

1

노션 링크도 안 열리고, 알려준 vercel도 실행이 안됩니다.

0

14

1

작업형 1 (삭제예정, 구 버전)

0

34

2

수강기간 연장 문의드립니다.

0

23

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

25

3

Substack 1년 제공

1

23

3

수강기간 연장 문의드립니다.

0

27

1

인덱스 슬라이싱

0

28

2

astro dev start - python 라이브러리 설치 fail

0

24

1

특별 학습 자료 프로모션 1년 멤버십 무료 제공 문의드립니다

0

27

2

코드를 첨부해야하는 이유가 있나요?

0

22

2

맥북 환경구성 에러

0

19

2

간단한 오타 제보입니다.

0

19

1

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

35

2

실제 FK제약조건을 설정하지 않는이유

0

37

2

Sequence 관련 질문

1

32

2

Image Only Query

1

29

2

Free Edition 실습 영상은 아직 업데이트전인가요?

0

22

1

6-7 로그설계하기 연습문제 제출/ 피드백 요청

0

23

2

세션의 유입출처를 분석할때 우선순위 관련 문의

0

27

2

강의 교안 제공 문의

1

77

2

NPS 데이터 셋 다운로드에 이상이 있습니다.

1

122

1

만약 데이터 웨어하우스에서 분석한 내용을 다시 고객에게 서빙하고 싶다면 어떻게 하나요?

1

249

1