Skip to main content

Descrição

O formato SQLite lê e grava arquivos de banco de dados SQLite. Na saída, o ClickHouse grava o resultado da consulta em uma única tabela do banco de dados SQLite. Na entrada, o ClickHouse lê uma única tabela do banco de dados SQLite. No caso de arquivos regulares locais, o ClickHouse abre o arquivo de banco de dados SQLite diretamente. Para os demais streams de entrada e de saída, o ClickHouse materializa o banco de dados SQLite em memória. Na entrada, o ClickHouse lê, por padrão, a primeira tabela do banco de dados SQLite. É possível alterar esse comportamento com a configuração input_format_sqlite_table_name. Na saída, o nome de tabela padrão é table, que pode ser alterado com a configuração output_format_sqlite_table_name.

Exemplo de uso

Correspondência de tipos de dados

Quando o ClickHouse grava dados no formato SQLite, ele cria uma tabela SQLite com os seguintes tipos declarados: Em colunas Float32 e Float64, valores diferentes de NaN são gravados com as classes de armazenamento nativas do SQLite, enquanto valores NaN são gravados com a serialização de texto do ClickHouse. Valores Bool e valores inteiros comuns também são gravados com as classes de armazenamento nativas do SQLite. Inteiros largos e tipos complexos são gravados com a serialização de texto do ClickHouse. Valores NULL são gravados como NULL do SQLite. Ao inferir um schema a partir de uma entrada SQLite, o ClickHouse usa o mesmo mapeamento do motor de banco de dados SQLite: Por padrão, o ClickHouse encapsula o tipo inferido em Nullable se a coluna SQLite correspondente permitir NULL; colunas NOT NULL continuam não Nullable. Você pode alterar esse comportamento com a configuração schema_inference_make_columns_nullable. A inferência de esquema não preserva os tipos de dados originais do ClickHouse. Por exemplo, Bool é gravado como INTEGER do SQLite e inferido como Int64, enquanto Date, DateTime, Decimal, UUID, IPv4, IPv6, Enum, Array, Tuple e Map são gravados como TEXT do SQLite e inferidos como String. Quando a estrutura da tabela do ClickHouse é especificada explicitamente, valores de ponto flutuante são lidos como valores REAL do SQLite, com fallback para texto no caso de NaN. Os demais valores do SQLite são lidos como texto e convertidos para os tipos do ClickHouse solicitados.

Configurações de formato