Description
BSONEachRow analyse les données comme une séquence de documents Binary JSON (BSON), sans aucun séparateur entre eux.
Chaque ligne est représentée par un document unique, et chaque colonne par un champ unique du document BSON, avec le nom de la colonne comme clé.
Correspondance des types de données
Pour l’entrée, la correspondance suivante est utilisée entre les types BSON et les types ClickHouse :
Les autres types BSON ne sont pas pris en charge. De plus, ce format effectue des conversions entre différents types entiers.
Par exemple, il est possible d’insérer dans ClickHouse une valeur BSON
int32 en tant que UInt8.
Les grands entiers et les types décimaux comme Int128/UInt128/Int256/UInt256/Decimal128/Decimal256 peuvent être interprétés à partir d’une valeur BSON binaire avec le sous-type binaire \x00.
Dans ce cas, le format vérifie que la taille des données binaires correspond à celle de la valeur attendue.
Ce format ne fonctionne pas correctement sur les plates-formes big-endian.
Exemple d’utilisation
Insertion de données
football.bson et contenant les données suivantes :
Lecture des données
BSONEachRow :