Summary
- DuckDB는 파일 기반 또는 메모리 기반으로 동작하는 임베디드 분석용 데이터베이스다
- 로컬 parquet 파일을 SQL로 바로 조회·적재할 수 있다
-ui옵션이나start_ui()로 웹 UI를 띄운다
설치
pip install duckdb데이터베이스 연결
파일 기반은 .db 파일에 데이터베이스를 생성·연결한다.
import duckdb
con = duckdb.connect('my_database.db')메모리 기반은 현재 메모리에 생성하고 종료 시 삭제한다.
import duckdb
con = duckdb.connect() # duckdb.connect(':memory:')사용법
main스키마에 자동 업로드된다.
로컬 parquet 파일을 테이블로 적재한다.
con.sql("""
CREATE TABLE IF NOT EXISTS yellow_tripdata AS
SELECT *
FROM './data/yellow_tripdata_2024-01.parquet'
""")
con.sql('select * from yellow_tripdata limit 10')현재 테이블 목록과 특정 테이블 스키마 정보를 확인한다.
# 현재 스키마 확인
con.sql('select current_schema()').show()
# 특정 테이블 스키마 정보
con.sql("PRAGMA table_info('{table_name}')")UI
종료 조건
- shell로 작성 시
con.close()되면 창이 종료된다- Python으로 작성 시 파일 종료 시 창이 종료된다
duckdb -uicon.sql('CALL start_ui();')Reference