Skip to main content

Description

Le format SQLite permet de lire et d’écrire un fichier de base de données SQLite. En sortie, ClickHouse écrit le résultat de la requête dans une seule table de la base de données SQLite. En entrée, ClickHouse lit une seule table de la base de données SQLite. Pour les fichiers ordinaires locaux, ClickHouse ouvre directement le fichier de base de données SQLite. Pour les autres flux d’entrée et de sortie, ClickHouse matérialise la base de données SQLite en mémoire. En entrée, ClickHouse lit par défaut la première table de la base de données SQLite. Vous pouvez modifier ce comportement avec le paramètre input_format_sqlite_table_name. En sortie, le nom de table par défaut est table ; vous pouvez le modifier avec le paramètre output_format_sqlite_table_name.

Exemple d’utilisation

Correspondance des types de données

Lorsque ClickHouse écrit des données au format SQLite, il crée une table SQLite avec les types déclarés suivants : Pour les colonnes Float32 et Float64, les valeurs autres que NaN sont écrites avec les classes de stockage natives de SQLite, tandis que les valeurs NaN sont écrites avec la sérialisation texte de ClickHouse. Les valeurs Bool et les valeurs entières ordinaires sont elles aussi écrites avec les classes de stockage natives de SQLite. Les entiers larges et les types complexes sont écrits avec la sérialisation texte de ClickHouse. Les valeurs NULL sont écrites sous forme de NULL SQLite. Lorsque ClickHouse infère un schéma à partir d’une entrée SQLite, il applique la même correspondance que le moteur de base de données SQLite : Par défaut, ClickHouse encapsule le type inféré dans Nullable si la colonne SQLite correspondante autorise NULL ; les colonnes NOT NULL ne sont pas converties en Nullable. Vous pouvez modifier ce comportement à l’aide du paramètre schema_inference_make_columns_nullable. L’inférence de schéma ne conserve pas les types de données ClickHouse d’origine. Par exemple, Bool est écrit en tant que INTEGER SQLite et inféré en tant que Int64, tandis que Date, DateTime, Decimal, UUID, IPv4, IPv6, Enum, Array, Tuple et Map sont écrits en tant que TEXT SQLite et inférés en tant que String. Lorsque la structure de la table ClickHouse est spécifiée explicitement, les valeurs à virgule flottante sont lues en tant que valeurs REAL SQLite, avec un repli sur le format texte pour NaN. Les autres valeurs SQLite sont lues sous forme de texte, puis converties dans les types ClickHouse demandés.

Paramètres de format