Skip to main content

Описание

Формат SQLite предназначен для чтения и записи файлов баз данных SQLite. При выводе ClickHouse записывает результат запроса в одну таблицу базы данных SQLite. При вводе ClickHouse читает одну таблицу из базы данных SQLite. Если это обычный локальный файл, ClickHouse открывает файл базы данных SQLite напрямую. Для остальных входных и выходных потоков ClickHouse материализует базу данных SQLite в памяти. При вводе ClickHouse по умолчанию читает первую таблицу из базы данных SQLite. Это поведение можно изменить с помощью настройки input_format_sqlite_table_name. При выводе по умолчанию используется имя таблицы table; его можно изменить с помощью настройки output_format_sqlite_table_name.

Пример использования

Соответствие типов данных

При записи данных в формате SQLite ClickHouse создаёт таблицу SQLite со следующими объявленными типами: Для столбцов Float32 и Float64 значения, отличные от NaN, записываются с использованием нативных классов хранилища SQLite, а значения NaN — в текстовой сериализации ClickHouse. Значения Bool и обычные целочисленные значения также записываются с использованием нативных классов хранилища SQLite. Широкие целые числа и сложные типы записываются в текстовой сериализации ClickHouse. Значения NULL записываются как NULL SQLite. При выводе схемы из входных данных SQLite ClickHouse использует то же соответствие типов, что и движок баз данных SQLite: По умолчанию ClickHouse оборачивает выведенный тип в Nullable, если соответствующий столбец SQLite допускает NULL; столбцы NOT NULL не оборачиваются в Nullable. Это поведение можно изменить с помощью настройки schema_inference_make_columns_nullable. При выводе схемы исходные типы данных ClickHouse не сохраняются. Например, Bool записывается как INTEGER SQLite и выводится как Int64, а Date, DateTime, Decimal, UUID, IPv4, IPv6, Enum, Array, Tuple и Map записываются как TEXT SQLite и выводятся как String. Если структура таблицы ClickHouse задана явно, значения с плавающей запятой читаются как значения REAL SQLite, а для NaN используется резервное чтение в текстовом виде. Остальные значения SQLite читаются как текст и преобразуются в запрошенные типы ClickHouse.

Настройки формата