Skip to main content

설명

SQLite 포맷은 SQLite 데이터베이스 파일을 읽고 씁니다. 출력 시 ClickHouse는 쿼리 결과를 SQLite 데이터베이스의 단일 테이블에 기록합니다. 입력 시에는 SQLite 데이터베이스에서 단일 테이블을 읽습니다. 로컬 일반 파일이면 ClickHouse는 SQLite 데이터베이스 파일을 직접 엽니다. 그 외의 입력 및 출력 스트림에서는 SQLite 데이터베이스를 메모리에 구체화합니다. 입력 시 ClickHouse는 기본적으로 SQLite 데이터베이스의 첫 번째 테이블을 읽으며, 이는 input_format_sqlite_table_name 설정으로 변경할 수 있습니다. 출력 시 기본 테이블 이름은 table이며, output_format_sqlite_table_name 설정으로 변경할 수 있습니다.

사용 예시

데이터 타입 매핑

ClickHouse는 SQLite 포맷으로 데이터를 기록할 때 다음과 같은 선언 타입으로 SQLite 테이블을 생성합니다. Float32 및 Float64 컬럼에서 NaN이 아닌 값은 SQLite 네이티브 저장 클래스(storage class)로 기록되고, NaN 값은 ClickHouse 텍스트 직렬화 방식으로 기록됩니다. Bool 및 일반 정수 값도 SQLite 네이티브 저장 클래스로 기록됩니다. 확장 정수(wide integer)와 복합 타입은 ClickHouse 텍스트 직렬화 방식으로 기록됩니다. NULL 값은 SQLite NULL로 기록됩니다. ClickHouse는 SQLite 입력에서 스키마를 추론할 때 SQLite 데이터베이스 엔진과 동일한 매핑을 사용합니다. 기본적으로 ClickHouse는 해당 SQLite 컬럼이 NULL을 허용하면 추론된 타입을 Nullable로 감싸고, NOT NULL 컬럼은 Nullable이 아닌 타입으로 유지합니다. 이 동작은 schema_inference_make_columns_nullable 설정으로 재정의할 수 있습니다. 스키마 추론으로는 원래의 ClickHouse 데이터 타입이 보존되지 않습니다. 예를 들어 Bool은 SQLite INTEGER로 기록된 뒤 Int64로 추론되며, Date, DateTime, Decimal, UUID, IPv4, IPv6, Enum, Array, Tuple, Map은 SQLite TEXT로 기록된 뒤 String으로 추론됩니다. ClickHouse 테이블 구조를 명시적으로 지정하면 부동소수점 값은 SQLite REAL 값으로 읽히며, NaN은 텍스트로 폴백하여 읽힙니다. 그 밖의 SQLite 값은 텍스트로 읽은 뒤 지정된 ClickHouse 타입으로 파싱됩니다.

포맷 설정

마지막 수정일 2026년 10월 14일